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.1   6.2   6.3   6.4   6.5   7.0   7.1   7.2   7.3   7.4    Statistic  

JSON.Parse

Parses JSON text and return reference number.

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

MBS( "JSON.Parse"; JSON )

Parameters

Parameter Description Example value
JSON The JSON text to parse. "[1,2,3]"

Result

Returns reference number or error.

Description

Parses JSON text and return reference number.
Please use JSON.Release later to free the json object.
You can pass the reference number to all MBS JSON functions instead of JSON text.

Examples

Parse an array:

# parse some json
$ref = MBS( "JSON.Parse"; "[1,2,3]" )
# query array size:
MBS( "JSON.GetArraySize"; $ref)
# free memory
MBS( "JSON.Release"; $ref)

Parse some JSON, display it formatted and release:

Set Variable [$json; Value:MBS( "JSON.Parse"; "{\"Hello\": \"World\"}" )]
Show Custom Dialog [$json; MBS("JSON.Format"; $json)]
Set Variable [$r; Value:MBS( "JSON.Release"; $json)]

Query IP via ipinfo.io:

Go to Layout [“Table”]
New Record/Request
#Start new session
Set Variable [$curl; Value:MBS("CURL.New")]
#Set URL to load (HTTP, HTTPS, FTP, FTPS, SFTP, etc.)
Set Variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "http://ipinfo.io")]
#RUN now
Set Variable [$result; Value:MBS("CURL.Perform"; $curl)]
#Check result
Set Field [Table::DebugLog; MBS("CURL.GetDebugAsText"; $curl)]
Set Field [Table::Result; MBS("CURL.GetResultAsText"; $curl; "UTF8")]
If [$result = "OK"]
    #Check HTTP error code
    Set Variable [$response; Value:MBS("CURL.GetResponseCode"; $curl)]
    If [$response = 200]
        #Query values from JSON
        Set Variable [$json; Value:MBS( "JSON.Parse"; Table::Result )]
        Set Field [Table::IP; MBS("JSON.GetPathItem"; $json; "ip"; 1)]
        Set Field [Table::Hostname; MBS("JSON.GetPathItem"; $json; "hostname"; 1)]
        Set Field [Table::City; MBS("JSON.GetPathItem"; $json; "city"; 1)]
        Set Field [Table::Region; MBS("JSON.GetPathItem"; $json; "region"; 1)]
        Set Field [Table::Country; MBS("JSON.GetPathItem"; $json; "country"; 1)]
        Set Field [Table::Location; MBS("JSON.GetPathItem"; $json; "loc"; 1)]
        Set Field [Table::Company or Provider; MBS("JSON.GetPathItem"; $json; "org"; 1)]
        Set Variable [$r; Value:MBS( "JSON.Release"; $json )]
    End If
End If
#Cleanup
Set Variable [$result; Value:MBS("CURL.Cleanup"; $curl)]
Commit Records/Requests [No dialog]

See also

Example Databases


JSON.IsValid   -   JSON.Release

Feedback: Report problem or ask question.




Links
MBS Xojo Plugins