Sample code for 30+ languages & platforms
Visual FoxPro

Loading and Parsing a JSON Array

See more JSON Examples

A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lcStrJsonArray
LOCAL lcStrJsonObject
LOCAL loJsonArray
LOCAL i
LOCAL loJsonObj
LOCAL loJsonObject
LOCAL lnNumPets

lcStrJsonArray = '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'

lcStrJsonObject = '{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}'

* A JSON array must be loaded using JsonArray:
loJsonArray = CreateObject('Chilkat.JsonArray')
loJsonArray.Load(lcStrJsonArray)

* Examine the values:
i = 0
DO WHILE i < loJsonArray.Size
    loJsonObj = loJsonArray.ObjectAt(i)
    ? STR(i) + ": " + loJsonObj.StringOf("name")
    RELEASE loJsonObj
    i = i + 1
ENDDO

* Output is:

* 	0: jack
* 	1: john
* 	2: joe

* A JSON object must be loaded using JsonObject
loJsonObject = CreateObject('Chilkat.JsonObject')
loJsonObject.Load(lcStrJsonObject)

* Examine the values:
i = 0
lnNumPets = loJsonObject.SizeOfArray("pets")
DO WHILE i < lnNumPets
    loJsonObject.I = i
    ? STR(i) + ": " + loJsonObject.StringOf("pets[i].name")
    i = i + 1
ENDDO

* Output is:

* 	0: jack
* 	1: john
* 	2: joe

RELEASE loJsonArray
RELEASE loJsonObject