Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
9.3
9.4
9.5
10.0
10.1
10.2
10.3
10.4
10.5
10.6
Statistic
FMM
Blog
JSON.GetPathItem
Queries value from JSON path.
| Component | Version | macOS | Windows | Linux | Server | FileMaker iOS SDK |
| JSON | 6.1 | Yes | Yes | Yes | Yes | Yes |
Parameters
| Parameter | Description | Example | Flags |
|---|---|---|---|
| json | A JSON text or reference. | "{\"people\":[{\"first\":\"Christian\",\"last\":\"Schmitz\",\"city\":\"Nickenich\"}]}" | |
| Path | The path through the json hierarchy as list. For object, pass name of item to choose. For array pass index. |
"people¶0¶last" | |
| Flags | Pass 1 to return as value, e.g. text or number. Pass 0 (or nothing) to return as JSON. Add 2 to return empty in case of error, e.g. value not existing. (new in 7.5) |
Optional |
Result
Returns value or error.
Description
Queries value from JSON path.The path describes the way through the hierarchy to find the JSON node to return.
Result can be JSON or the value.
If path ends with # in an array, we return number of elements.
Examples
Query people:
MBS( "JSON.GetPathItem"; "{\"people\":[{\"first\":\"Christian\",\"last\":\"Schmitz\",\"city\":\"Nickenich\"}]}"; "people")
Query people -> first entry:
MBS( "JSON.GetPathItem"; "{\"people\":[{\"first\":\"Christian\",\"last\":\"Schmitz\",\"city\":\"Nickenich\"}]}"; "people¶0")
Query people -> first entry -> last name:
MBS( "JSON.GetPathItem"; "{\"people\":[{\"first\":\"Christian\",\"last\":\"Schmitz\",\"city\":\"Nickenich\"}]}"; "people¶0¶last")
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.Release"; $curl)]
Commit Records/Requests [No dialog]
Query number of entries in array:
MBS( "JSON.GetPathItem"; "{\"IDs\":[1,5,8,2,5]}"; "IDs¶#")
Example result: 5
See also
- CoreML.PredictionFromFeatures
- CURL.GetResponseCode
- CURL.GetResultAsText
- CURL.New
- CURL.Perform
- JSON.DeleteItemFromArray
- JSON.GetArraySize
- JSON.Release
- JSON.SetPathItem
- MetaDataQuery.AttributesForFile
Example Databases
- CURL/Email/IMAP Email List
- CURL/Email/IMAP Email
- CURL/WebServices/CURL FMS Admin API v18
- CURL/WebServices/ebay webservice/ebay Webservice
- CURL/WebServices/Google Maps API/Google Maps API
- CURL/WebServices/Query IP and Country
- CURL/WebServices/WeatherBit.io test
- JSON/JSON Benchmark
- Mac and iOS/Machine Learning/CoreML
- Mac and iOS/MapKit/MapView BeeExample
Blog Entries
- MBS FileMaker Plugin, version 10.3pr4
- With JSON in excellent form
- Sum up values in JSON with MBS FileMaker Plugin
- Query URL from downloaded file
- MBS FileMaker Plugin, version 8.1pr6
- MBS FileMaker Plugin, version 7.5pr5
- Comparing Base Elements Plugin to MBS FileMaker Plugin
- Face detection via CoreImage in FileMaker
- Query geolocation in FileMaker via MBS Plugin and Google Maps API
FileMaker Magazin
Release notes
- Version 10.3
- Fixed JSON.GetPathItem to not complain about out of bounds if option value 2 is used.
- Version 8.1
- Fixed JSON.GetPathItem returning numbers with dot incorrectly for non-english localization. Broken in 7.5.
- Version 7.5
- Added flag for JSON.GetPathItem to avoid returning error for missing keys.
Created 3th February 2016, last changed 19th April 2020
JSON.GetObjectSize - JSON.GetStringValue
Feedback: Report problem or ask question.
Links
MBS Xojo Plugins