Sample code for 30+ languages & platforms
Lianja

JSON: Nested Array

See more JSON Examples

Here we have a JSON object that contains nested arrays. This example demonstrates how to access the contents of the nested arrays.
{
 "numbers" : [ 
    ["even", 2, 4, 6, 8], 
    ["prime", 2, 3, 5, 7, 11, 13] 
  ] }

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loJson = createobject("CkJsonObject")

// This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
// The presence of whitespace chars for pretty-printing makes no difference to the Load
// method. 
lcJsonStr = '{ "numbers" : [ ["even", 2, 4, 6, 8], ["prime", 2, 3, 5, 7, 11, 13] ] }'

llSuccess = loJson.Load(lcJsonStr)
if (llSuccess <> .T.) then
    ? loJson.LastErrorText
    release loJson
    return
endif

// Get the value of the "numbers" object, which is an array that contains JSON arrays.
loOuterArray = loJson.ArrayOf("numbers")
if (loJson.LastMethodSuccess = .F.) then
    ? "numbers array not found."
    release loJson
    return
endif

lnNumArrays = loOuterArray.Size

for i = 0 to lnNumArrays - 1

    loInnerArray = loOuterArray.ArrayAt(i)

    // The first item in the innerArray is a string
    ? loInnerArray.StringAt(0) + ":"

    lnNumInnerItems = loInnerArray.Size

    for j = 1 to lnNumInnerItems - 1

        ? "  " + str(loInnerArray.IntAt(j))

    next

    release loInnerArray
next

release loOuterArray


release loJson