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