PureBasic
PureBasic
Iterate over JSON Array containing JSON Objects
See more JSON Examples
Demonstrates how to load a JSON array and iterate over the JSON objects.Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkJsonArray.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; Loads the following JSON array and iterates over the objects:
;
; [
; {"tagId":95,"tagDescription":"hola 1","isPublic":true},
; {"tagId":98,"tagDescription":"hola 1","isPublic":true},
; {"tagId":101,"tagDescription":"hola 1","isPublic":true},
; {"tagId":104,"tagDescription":"hola 1","isPublic":true},
; {"tagId":107,"tagDescription":"hola 1","isPublic":true},
; {"tagId":110,"tagDescription":"hola 1","isPublic":true},
; {"tagId":113,"tagDescription":"hola 1","isPublic":true},
; {"tagId":114,"tagDescription":"hola 2","isPublic":true},
; {"tagId":111,"tagDescription":"hola 2","isPublic":true},
; {"tagId":108,"tagDescription":"hola 2","isPublic":true},
; {"tagId":105,"tagDescription":"hola 2","isPublic":true},
; {"tagId":102,"tagDescription":"hola 2","isPublic":true},
; {"tagId":99,"tagDescription":"hola 2","isPublic":true},
; {"tagId":96,"tagDescription":"hola 2","isPublic":true},
; {"tagId":97,"tagDescription":"hola 3","isPublic":true},
; {"tagId":100,"tagDescription":"hola 3","isPublic":true},
; {"tagId":103,"tagDescription":"hola 3","isPublic":true},
; {"tagId":106,"tagDescription":"hola 3","isPublic":true},
; {"tagId":109,"tagDescription":"hola 3","isPublic":true},
; {"tagId":112,"tagDescription":"hola 3","isPublic":true},
; {"tagId":115,"tagDescription":"hola 3","isPublic":true},
; {"tagId":93,"tagDescription":"new tag","isPublic":true},
; {"tagId":94,"tagDescription":"new tag","isPublic":true},
; {"tagId":89,"tagDescription":"tag 1","isPublic":true},
; {"tagId":90,"tagDescription":"tag 2","isPublic":true},
; {"tagId":91,"tagDescription":"tag private 1","isPublic":false},
; {"tagId":92,"tagDescription":"tag private 2","isPublic":false}
; ]
; Load a file containing the above JSON..
sbJsonArray.i = CkStringBuilder::ckCreate()
If sbJsonArray.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckLoadFile(sbJsonArray,"qa_data/json/arraySample.json","utf-8")
arr.i = CkJsonArray::ckCreate()
If arr.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkJsonArray::ckLoadSb(arr,sbJsonArray)
tagId.i
tagDescription.s
isPublic.i
i.i = 0
count.i = CkJsonArray::ckSize(arr)
obj.i
While i < count
obj = CkJsonArray::ckObjectAt(arr,i)
tagId = CkJsonObject::ckIntOf(obj,"tagId")
tagDescription = CkJsonObject::ckStringOf(obj,"tagDescription")
isPublic = CkJsonObject::ckBoolOf(obj,"isPublic")
Debug "tagId: " + Str(tagId)
Debug "tagDescription: " + tagDescription
Debug "isPublic: " + Str(isPublic)
Debug "--"
CkJsonObject::ckDispose(obj)
i = i + 1
Wend
CkStringBuilder::ckDispose(sbJsonArray)
CkJsonArray::ckDispose(arr)
ProcedureReturn
EndProcedure