PureBasic
PureBasic
Understanding JSON Array vs JSON Object
See more JSON Examples
This example explains the difference between a JSON Array and a JSON Object. A JSON Array begins with "[" and ends with "]", whereas a JSON Object begins with "{" and ends with "}".Elements contained in a JSON array are accessed by index, whereas elements in a JSON object are typically accessed by name (but can also be accessed by index).
Chilkat PureBasic Downloads
IncludeFile "CkJsonArray.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; A JSON array should be loaded into a Chilkat JSON array,
; whereas a JSON object should be loaded into a Chilkat JSON object.
; A JSON array may contain objects, and a JSON object may contains arrays, but
; it is the top-level (outermost) element that defines whether the JSON
; document is an array or an object.
; An array begins and ends with "[" ... "]"
; An object begins and ends with "{" ... "}"
; For example, an array containing 2 objects:
strJsonArray.s = "[ { " + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "Bill" + Chr(34) + " }, { " + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "Ted" + Chr(34) + " } ]"
; Load it into a JSON array.
jsonA.i = CkJsonArray::ckCreate()
If jsonA.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkJsonArray::ckLoad(jsonA,strJsonArray)
Debug "number of array elements: " + Str(CkJsonArray::ckSize(jsonA))
; This is an object containing an array:
strJsonObj.s = "{ " + Chr(34) + "characters" + Chr(34) + ": [ " + Chr(34) + "Bill" + Chr(34) + ", " + Chr(34) + "Ted" + Chr(34) + " ] }"
; Load it into a JSON object.
jsonO.i = CkJsonObject::ckCreate()
If jsonO.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkJsonObject::ckLoad(jsonO,strJsonObj)
Debug "number of object members: " + Str(CkJsonObject::ckSize(jsonO))
CkJsonArray::ckDispose(jsonA)
CkJsonObject::ckDispose(jsonO)
ProcedureReturn
EndProcedure