Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server (Not)   Client   Old   Guides   Examples
New in version: 6.5   7.0   7.1   7.2   7.3   7.4   7.5   8.0   8.1   8.2    Statistic  

JSON.GetObjectItem

Queries named item from an object.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
JSON 2.7 Yes Yes Yes Yes Yes

MBS( "JSON.GetObjectItem"; json; name { ; AsReference } )

Parameters

Parameter Description Example value
json A JSON text or reference. "[1,2,3]"
name The name of the key to query. "test"
AsReference Optional
Whether to return a reference number (1) instead of the JSON text (0).
Default is 0 for JSON text.
0

Result

Returns JSON code.

Description

Queries named item from an object.
You still need functions like JSON.GetStringValue to get back the decoded string.

Examples

Create object, add content and pick value:

Let(
[
j = MBS( "JSON.CreateObject");
j = MBS( "JSON.AddStringToObject"; j; "hello"; "world" );
r = MBS( "JSON.GetObjectItem"; j; "hello" )
];
r)

Pick a text from a JSON dictionary:

set $json to "{\"first\":\"Christian\",\"last\":\"Schmitz\",\"city\":\"Nickenich\"}"
set $first to MBS("JSON.GetObjectItem"; $json; "first")
set $firstText to MBS("JSON.GetStringValue"; $first)
display dialog $firstText

Extract error details from JSON:

# JSON in field:
#{
# "error": {
# "message": "Your card's expiration year is invalid.",
# "type": "card_error",
# "param": "exp_year",
# "code": "invalid_expiry_year"
# }
#}
#get it in variable
Set Variable [$json; Value:test::input]
#pick error node
Set Variable [$error; Value:MBS("JSON.GetObjectItem"; $json; "error")]
If [$error = ""]
    Show Custom Dialog ["No error"; "No error node in the JSON."]
Else
    #get message node
    Set Variable [$message; Value:MBS("JSON.GetObjectItem"; $error; "message")]
    #decode text
    Set Variable [$messageText; Value:MBS("JSON.GetStringValue"; $message)]
    #get code node
    Set Variable [$code; Value:MBS("JSON.GetObjectItem"; $error; "code")]
    #decode text
    Set Variable [$codeText; Value:MBS("JSON.GetStringValue"; $code)]
    #show result
    Show Custom Dialog ["Got error"; "Message: " & $messageText & ¶ & "Code: " & $codeText]
End If

See also

Example Databases


JSON.GetIntegerValue   -   JSON.GetObjectItemTree

Feedback: Report problem or ask question.




Links
MBS Xojo Chart Plugins