PureBasic
PureBasic
Build JSON with Mixture of Arrays and Objects
See more JSON Examples
Another example showing how to build JSON containing a mixture of arrays and objects.Chilkat PureBasic Downloads
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
; We want to build the following JSON:
; {
; "accountEnabled": true,
; "assignedLicenses": [
; {
; "disabledPlans": [ "bea13e0c-3828-4daa-a392-28af7ff61a0f" ],
; "skuId": "skuId-value"
; }
; ],
; "assignedPlans": [
; {
; "assignedDateTime": "datetime-value",
; "capabilityStatus": "capabilityStatus-value",
; "service": "service-value",
; "servicePlanId": "bea13e0c-3828-4daa-a392-28af7ff61a0f"
; }
; ],
; "businessPhones": [
; "businessPhones-value"
; ],
; "city": "city-value",
; "companyName": "companyName-value"
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateBool(json,"accountEnabled",1)
CkJsonObject::setCkI(json, 0)
CkJsonObject::ckUpdateString(json,"assignedLicenses[i].disabledPlans[0]","bea13e0c-3828-4daa-a392-28af7ff61a0f")
CkJsonObject::ckUpdateString(json,"assignedLicenses[i].skuId","skuId-value")
CkJsonObject::ckUpdateString(json,"assignedPlans[i].assignedDateTime","datetime-value")
CkJsonObject::ckUpdateString(json,"assignedPlans[i].capabilityStatus","capabilityStatus-value")
CkJsonObject::ckUpdateString(json,"assignedPlans[i].service","service-value")
CkJsonObject::ckUpdateString(json,"assignedPlans[i].servicePlanId","bea13e0c-3828-4daa-a392-28af7ff61a0f")
CkJsonObject::ckUpdateString(json,"businessPhones[i]","businessPhones-value")
CkJsonObject::ckUpdateString(json,"city","city-value")
CkJsonObject::ckUpdateString(json,"companyName","companyName-value")
CkJsonObject::setCkEmitCompact(json, 0)
Debug CkJsonObject::ckEmit(json)
; Output:
; {
; "accountEnabled": true,
; "assignedLicenses": [
; {
; "disabledPlans": [
; "bea13e0c-3828-4daa-a392-28af7ff61a0f"
; ],
; "skuId": "skuId-value"
; }
; ],
; "assignedPlans": [
; {
; "assignedDateTime": "datetime-value",
; "capabilityStatus": "capabilityStatus-value",
; "service": "service-value",
; "servicePlanId": "bea13e0c-3828-4daa-a392-28af7ff61a0f"
; }
; ],
; "businessPhones": [
; "businessPhones-value"
; ],
; "city": "city-value",
; "companyName": "companyName-value"
; }
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure