GetItemByPath

Description

Gets the handle of the item.

Applies to

JSONParser objects and JSONGenerator objects

Syntax

objectname.GetItemByPath ( ItemPath )

Argument

Description

objectname

The name of the JSONParser or JSONGenerator object whose item you want to obtain.

ItemPath

A string specifying the path of the item. If there is a multi-dimensional array, use the number to indicate the order of the array elements. If a key name contains "/", use the escape character "~~/" to replace "/".


Return value

Long.

Returns the item handle if it succeeds and -1 if an error occurs. If any argument's value is null, the method returns null. If the item path is not found and if the ReturnsNullWhenError property is true, the method returns null (if the ReturnsNullWhenError property is false, throw the exception).

Example 1

This example gets the item handle from a JSONParser object according to the item path from a one-dimensional array:

JsonParser lnv_JsonParser
String ls_Json, ls_Name, ls_Path
DateTime ldt_DateTime
Long ll_item
lnv_JsonParser = Create JsonParser

ls_Json = '{"id":1001, "name":"evan", "data_object":{"datetime":7234930293, "date": "2017-09-21", "time": "12:00:00","age":[55,22,33]}}'

lnv_JsonParser.LoadString(ls_Json)
ls_Path = "/name"
ll_item = lnv_JsonParser.GetItemByPath(ls_Path)
ls_Name = lnv_JsonParser.GetItemString(ll_item)
ls_Path = "/data_object/datetime"
ll_item = lnv_JsonParser.GetItemByPath(ls_Path)
ldt_DateTime = lnv_JsonParser.GetItemDateTime(ll_item)

Example 2

This example gets the item handle from a JSONParser object according to the item path from a two-dimensional array. The number indicates the order of the array.

JsonParser lnv_JsonParser
String ls_Json, ls_Name, ls_Path
DateTime ldt_DateTime
Long ll_item
lnv_JsonParser = Create JsonParser

ls_Json = '[{"id":1001, "name":"evan", "data_object":{"datetime":7234930293, "date": "2017-09-21", "time": "12:00:00","age":[66,22,33]}},' + &
    '{"id":1002, "name":"evan2", "data_object":{"datetime":1734930293, "date": "2017-09-11", "time": "11:00:00","age":[55,23,33]}}]'

lnv_JsonParser.LoadString(ls_Json)
ls_Path = "/1/name"
ll_item = lnv_JsonParser.GetItemByPath(ls_Path)
ls_Name = lnv_JsonParser.GetItemString(ll_item)
ls_Path = "/2/data_object/datetime"
ll_item = lnv_JsonParser.GetItemByPath(ls_Path)
ldt_DateTime = lnv_JsonParser.GetItemDateTime(ll_item)

Example 3

This example determines the item handle in a JSONGenerator object according to the item path and then adds three child items:

Long ll_ChildObject
String ls_RootPath,ls_ChildPath
JsonGenerator lnv_JsonGenerator
lnv_JsonGenerator = Create JsonGenerator

// Creates an object root item
lnv_JsonGenerator.CreateJsonObject ()

// Adds an object child item
ls_RootPath = "/"
lnv_JsonGenerator.AddItemObject(ls_RootPath, "object")
ls_ChildPath = "/object"
ll_ChildObject = lnv_JsonGenerator.GetItemByPath(ls_ChildPath)

lnv_JsonGenerator.AddItemNumber(ll_ChildObject, "year", 2017)
lnv_JsonGenerator.AddItemDate(ll_ChildObject, "date", 2017-09-21)
lnv_JsonGenerator.AddItemTime(ll_ChildObject, "time", 12:00:00)

See also

GetItemArray

GetItemArrayJSONString

GetItemBlob

GetItemBoolean

GetItemDate

GetItemDateTime

GetItemDecimal

GetItemNumber

GetItemObject

GetItemObjectJSONString

GetItemString

GetItemTime

GetItemType

GetNumberType

GetPathByItem (JSONGenerator)