Sample code for 30+ languages & platforms
Visual FoxPro

JSON: Access Array Values

See more JSON Examples

Demonstrates how to access values in a JSON array.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loJson
LOCAL lcJsonStr
LOCAL loTagsArray
LOCAL lnArraySize
LOCAL i
LOCAL lcSValue
LOCAL lnIValue

lnSuccess = 0

loJson = CreateObject('Chilkat.JsonObject')

lcJsonStr = '{ "id": 1, "name": "A green door", "tags": ["home", 22, "green"], "price": 125 }'

lnSuccess = loJson.Load(lcJsonStr)
IF (lnSuccess <> 1) THEN
    ? loJson.LastErrorText
    RELEASE loJson
    CANCEL
ENDIF

* Get the "tags" array, which contains "home", 22, "green"
loTagsArray = loJson.ArrayOf("tags")
IF (loJson.LastMethodSuccess = 0) THEN
    ? "tags member not found."
    RELEASE loJson
    CANCEL
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

lnArraySize = loTagsArray.Size

FOR i = 0 TO lnArraySize - 1

    lcSValue = loTagsArray.StringAt(i)

    ? "[" + STR(i) + "] = " + lcSValue

    lnIValue = loTagsArray.IntAt(i)
    ? "[" + STR(i) + "] as integer = " + STR(lnIValue)

NEXT

RELEASE loTagsArray

* 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

RELEASE loJson