JSON.GetObjectItemTree
----------------------

Queries named item from an object tree.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [JSON](component_JSON.md) | [3.2](newinversion32.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "JSON.GetObjectItemTree"; JSON; Names... ) 

**MBS**( **"JSON.GetObjectItemTree";** /\* Queries named item from an object tree. \*/  
**$JSON**; /\* A JSON text or reference.e.g. "\[1,2,3\]" \*/   
**$Names...**) /\* The names for keys to query. Pass several parameters to go down an object tree. For arrays you can pass index.e.g. "test" \*/ 

### Parameters

| Parameter | Description | Example |
|---|---|---|
| JSON | A JSON text or reference. | "\[1,2,3\]" |
| Names... | The names for keys to query. Pass several parameters to go down an object tree. For arrays you can pass index. | "test" |

### Result

Returns JSON or error.

### Description

Queries named item from an object tree.  
You still need functions like [JSON.GetStringValue](JSONGetStringValue.md) to get back the decoded string.  
Works also for arrays where you pass in index.  
  
This function takes variable number of parameters. Pass as much parameters as needed separated by the semicolon in FileMaker.  
Please repeat Names parameter as often as you need.  
### Examples

Query properties object and inside it the lastname object and there the value property:

 MBS ("JSON.GetObjectItemTree"; JSON Test::JSON ; "properties"; "lastname"; "value")  
Look into object tree, pick addresses, first address, than value and there the content of street:

 MBS ("[JSON.GetStringValue](JSONGetStringValue.md)"; MBS ( "JSON.GetObjectItemTree"; test::JSON ; "addresses"; 0; "value"; "streetAddress" ))  
### See also

- [JSON.GetObjectItem](JSONGetObjectItem.md)
- [JSON.GetObjectItemTreeRef](JSONGetObjectItemTreeRef.md)
- [JSON.GetStringValue](JSONGetStringValue.md)
- [JSON.Release](JSONRelease.md)

### Release notes

- **Version 11.3**
    - Changed [JSON.GetObjectItemTree](https://www.mbsplugins.eu/JSONGetObjectItemTree.shtml), [JSON.GetObjectItemTreeRef](https://www.mbsplugins.eu/JSONGetObjectItemTreeRef.shtml), [JSON.AddArrayToArray](https://www.mbsplugins.eu/JSONAddArrayToArray.shtml) and [JSON.AddItemToArray](https://www.mbsplugins.eu/JSONAddItemToArray.shtml) to ignore empty parameters.

### Blog Entries

- [MBS FileMaker Plugin, version 11.3pr2](https://www.mbsplugins.de/archive/2021-06-09/MBS_FileMaker_Plugin_version_1/monkeybreadsoftware_blog_filemaker)
- [With JSON in excellent form](https://www.mbsplugins.de/archive/2019-11-16/With_JSON_in_excellent_form/monkeybreadsoftware_blog_filemaker)
- [MBS Filemaker Plugin, version 4.3pr7](https://www.mbsplugins.de/archive/2014-08-26/MBS_Filemaker_Plugin_version_4/monkeybreadsoftware_blog_filemaker)
- [MBS Filemaker Plugin, version 3.2pr8](https://www.mbsplugins.de/archive/2013-04-20/MBS_Filemaker_Plugin_version_3/monkeybreadsoftware_blog_filemaker)

### FileMaker Magazin

- [Ausgabe 5/2020, Seite 17 bis 19](https://filemaker-magazin.de/neuigkeit/4110-Appetithappen-FMM_202005)

This function is free to use.

Created 18th August 2014 , last changed 5th June 2021

  
[JSON.GetObjectItem](JSONGetObjectItem.md) - [JSON.GetObjectItemTreeRef](JSONGetObjectItemTreeRef.md)

[HTML Version](JSONGetObjectItemTree.shtml)