JSONGetElement
Queries JSON data for an element specified by an object name, an array index, or a path.
Format
JSONGetElement ( json ; keyOrIndexOrPath )
Parameters
json
- any text expression or field that contains a JSON object or array.
keyOrIndexOrPath
- any text expression or field that specifies a JSON object name (key), an array index, or a path. See Working with the JSON functions.
Data type returned
text, number
Originated in version
16.0
Description
If the JSON value at keyOrIndexOrPath
is a number or a Boolean, this function returns a number; otherwise, it returns text.
Example 1
JSONGetElement ( "{ \"a\" : 11, \"b\" : 22, \"c\" : 33 }" ; "b" )
returns 22 as a number.
Example 2
JSONGetElement ( "[ true, false, true ]" ; 1 )
returns 0 (false) as a number.
Example 3
JSONGetElement ( "[ 1, 2, 3, 5 ]" ; "[:]" )
returns 5 by using "[:]"
to refer to the last element of the array.
Example 4
From the Example JSON data stored in the $$JSON variable, gets the value of the "name" object of the second "product" object in the array.
JSONGetElement ( $$JSON ; "bakery.product[1]name" )
returns Chocolate Cake as text.
Example 5
If the $$JSON variable is set to
{
"bakery" :
{
"product" :
[
{
"product.id" : "FB1",
"product.name" : "Donuts",
"price": 1.99,
"stock" : 43,
"product.category" : "Breads",
"special" : true
}
]
}
}
then JSONGetElement ( $$JSON ; "['bakery']['product'][0]['product.name']" )
returns Donuts as text, which is the value of the "product.name" key in the first "product" object in the array. Because the key name includes a period, the keyOrIndexOrPath
parameter is written in bracket notation.