Sample code for 30+ languages & platforms
Xbase++

JSON: Access Array Values

See more JSON Examples

Demonstrates how to access values in a JSON array.

Chilkat Xbase++ Downloads

Xbase++
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()