Extension::JsonPathExtract Method
Syntax
.PathExtract as c (json as C, path as C [, base as N])
Arguments
- json
Json String.
- path
Path to extract json from
- base
Optional Array Base Offset (defaults to 1 for Xbasic array symantics)
Description
Return the json from the path. The 'base' argument indicates array/position start - Xbasic should be 1, javascript should be 0.
Discussion
Unlink the json_extract() function, which drills down and finds every occurrence of a tag, PathExtract requires a fully qualified path to element.
Example
dim json as c = <<%json%
{
"fname": "john",
"lname": "public",
"address": {
"address1": "12 main street",
"address2": "apt 2b",
"state": "NY",
"city": "Springfield"
},
"bill_address": {
"address1": "12 main street",
"address2": "apt 2b",
"state": "NY",
"city": "Statesville"
}
}
%json%
? json_extract(json,"city")
= ["Springfield","Statesville"]
? extension::json::PathExtract(json,"city")
= ""
? extension::json::PathExtract(json,"address.city")
= "Springfield"
? extension::json::PathExtract(json,"bill_address.city")
= "Statesville"