DataFlex
DataFlex
JSON: Access Array Values
See more JSON Examples
Demonstrates how to access values in a JSON array.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoJson
String sJsonStr
Variant vTagsArray
Handle hoTagsArray
Integer iArraySize
Integer i
String sSValue
Integer iIValue
String sTemp1
Boolean bTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Move '{ "id": 1, "name": "A green door", "tags": ["home", 22, "green"], "price": 125 }' To sJsonStr
Get ComLoad Of hoJson sJsonStr To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoJson To sTemp1
Showln sTemp1
Procedure_Return
End
// Get the "tags" array, which contains "home", 22, "green"
Get ComArrayOf Of hoJson "tags" To vTagsArray
If (IsComObject(vTagsArray)) Begin
Get Create (RefClass(cComChilkatJsonArray)) To hoTagsArray
Set pvComObject Of hoTagsArray To vTagsArray
End
Get ComLastMethodSuccess Of hoJson To bTemp1
If (bTemp1 = False) Begin
Showln "tags member not found."
Procedure_Return
End
// 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
Get ComSize Of hoTagsArray To iArraySize
For i From 0 To (iArraySize - 1)
Get ComStringAt Of hoTagsArray i To sSValue
Showln "[" i "] = " sSValue
Get ComIntAt Of hoTagsArray i To iIValue
Showln "[" i "] as integer = " iIValue
Loop
Send Destroy of hoTagsArray
// 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
End_Procedure