AutoIt
AutoIt
JSON: Access Array Values
See more JSON Examples
Demonstrates how to access values in a JSON array.Chilkat AutoIt Downloads
Local $bSuccess = False
$oJson = ObjCreate("Chilkat.JsonObject")
Local $sJsonStr = "{ ""id"": 1, ""name"": ""A green door"", ""tags"": [""home"", 22, ""green""], ""price"": 125 }"
$bSuccess = $oJson.Load($sJsonStr)
If ($bSuccess <> True) Then
ConsoleWrite($oJson.LastErrorText & @CRLF)
Exit
EndIf
; Get the "tags" array, which contains "home", 22, "green"
Local $oTagsArray = $oJson.ArrayOf("tags")
If ($oJson.LastMethodSuccess = False) Then
ConsoleWrite("tags member not found." & @CRLF)
Exit
EndIf
; Get the value at each array index.
; Output will be:
; [0] = home
; [0] as integer = 0
; [1] = 22
; [1] as integer = 22
; [2] = green
; [2] as integer = 0
Local $iArraySize = $oTagsArray.Size
Local $i
For $i = 0 To $iArraySize - 1
Local $sValue = $oTagsArray.StringAt($i)
ConsoleWrite("[" & $i & "] = " & $sValue & @CRLF)
Local $iValue = $oTagsArray.IntAt($i)
ConsoleWrite("[" & $i & "] as integer = " & $iValue & @CRLF)
Next
; Note: The StringAt method returns the value as a string regardless of the type.
; The IntAt method returns the value as an integer. If the value does not convert to
; an integer, then 0 is returned