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