Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = False

$oJson = ObjCreate("Chilkat.JsonObject")

; 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. 
Local $sJsonStr = "{ ""numbers"" : [ [""even"", 2, 4, 6, 8], [""prime"", 2, 3, 5, 7, 11, 13] ] }"

$bSuccess = $oJson.Load($sJsonStr)
If ($bSuccess <> True) Then
    ConsoleWrite($oJson.LastErrorText & @CRLF)
    Exit
EndIf

; Get the value of the "numbers" object, which is an array that contains JSON arrays.
Local $oOuterArray = $oJson.ArrayOf("numbers")
If ($oJson.LastMethodSuccess = False) Then
    ConsoleWrite("numbers array not found." & @CRLF)
    Exit
EndIf

Local $iNumArrays = $oOuterArray.Size
Local $i

For $i = 0 To $iNumArrays - 1

Local $oInnerArray = $oOuterArray.ArrayAt($i)

    ; The first item in the innerArray is a string
    ConsoleWrite($oInnerArray.StringAt(0) & ":" & @CRLF)

Local $iNumInnerItems = $oInnerArray.Size
Local $iJ
    For $iJ = 1 To $iNumInnerItems - 1

        ConsoleWrite("  " & $oInnerArray.IntAt($iJ) & @CRLF)

    Next

Next