Xbase++
Xbase++
JSON: Access Array Values
See more JSON Examples
Demonstrates how to access values in a JSON array.Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oJson
LOCAL cJsonStr
LOCAL oTagsArray
LOCAL nArraySize
LOCAL i
LOCAL cSValue
LOCAL nIValue
nSuccess := 0
oJson := CreateObject("Chilkat.JsonObject")
cJsonStr := '{ "id": 1, "name": "A green door", "tags": ["home", 22, "green"], "price": 125 }'
nSuccess := oJson:Load(cJsonStr)
IF (nSuccess != 1)
? oJson:LastErrorText
oJson:destroy()
RETURN
ENDIF
// Get the "tags" array, which contains "home", 22, "green"
oTagsArray := oJson:ArrayOf("tags")
IF (oJson:LastMethodSuccess == 0)
? "tags member not found."
oJson:destroy()
RETURN
ENDIF
// Get the value at each array index.
// Output will be:
// [0] = home
// [0] as integer = 0
// [1] = 22
// [1] as integer = 22
// [2] = green
// [2] as integer = 0
nArraySize := oTagsArray:Size
FOR i := 0 TO nArraySize - 1
cSValue := oTagsArray:StringAt(i)
? "[" + Str(i) + "] = " + cSValue
nIValue := oTagsArray:IntAt(i)
? "[" + Str(i) + "] as integer = " + Str(nIValue)
NEXT
oTagsArray:destroy()
// Note: The StringAt method returns the value as a string regardless of the type.
// The IntAt method returns the value as an integer. If the value does not convert to
// an integer, then 0 is returned.
oJson:destroy()