PureBasic
PureBasic
JSON Iterate Members
See more JSON Examples
Demonstrates how to loop over the immediate members of a JSON object.Chilkat PureBasic Downloads
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
jsonStr.s = "{ " + Chr(34) + "id" + Chr(34) + ": 1, " + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "A green door" + Chr(34) + ", " + Chr(34) + "tags" + Chr(34) + ": [" + Chr(34) + "home" + Chr(34) + ", " + Chr(34) + "green" + Chr(34) + "], " + Chr(34) + "price" + Chr(34) + ": 125 }"
success = CkJsonObject::ckLoad(json,jsonStr)
If success <> 1
Debug CkJsonObject::ckLastErrorText(json)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
numMembers.i = CkJsonObject::ckSize(json)
i.i
For i = 0 To numMembers - 1
name.s = CkJsonObject::ckNameAt(json,i)
value.s = CkJsonObject::ckStringAt(json,i)
Debug name + ": " + value
iValue.i = CkJsonObject::ckIntAt(json,i)
Debug name + " as integer: " + Str(iValue)
Next
; Note: The StringAt method returns the value as a string regardless of the type.
; If the value is a JSON array (such as for ["home", "green"]), then the JSON encoding
; of the entire array is returned.
; The IntAt method returns the value as an integer. If the value does not convert to
; an integer, then 0 is returned
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure