PureBasic
PureBasic
Swap JSON Objects
See more JSON Examples
Demonstrates how to swap two JSON objects within a JSON document.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
CkJsonObject::setCkEmitCompact(json, 0)
; Load the following JSON:
; {
; "petter": {
; "DOB": "26/02/1986",
; "gender": "male",
; "country": "US"
; },
; "Sara": {
; "DOB": "13/05/1982",
; "gender": "female",
; "country": "FR"
; },
; "Jon": {
; "DOB": "19/03/1984",
; "gender": "male",
; "country": "UK"
; }
; }
success = CkJsonObject::ckLoadFile(json,"qa_data/json/people.json")
If success = 0
Debug CkJsonObject::ckLastErrorText(json)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
; Swap the positions of Jon and Sara.
index1.i = CkJsonObject::ckIndexOf(json,"Jon")
index2.i = CkJsonObject::ckIndexOf(json,"Sara")
CkJsonObject::ckSwap(json,index1,index2)
; We have this now:
Debug CkJsonObject::ckEmit(json)
; {
; "petter": {
; "DOB": "26/02/1986",
; "gender": "male",
; "country": "US"
; },
; "Jon": {
; "DOB": "19/03/1984",
; "gender": "male",
; "country": "UK"
; },
; "Sara": {
; "DOB": "13/05/1982",
; "gender": "female",
; "country": "FR"
; }
; }
; To swap an inner member:
jsonSara.i = CkJsonObject::ckCreate()
If jsonSara.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckObjectOf2(json,"Sara",jsonSara)
index1 = CkJsonObject::ckIndexOf(jsonSara,"DOB")
index2 = CkJsonObject::ckIndexOf(jsonSara,"country")
CkJsonObject::ckSwap(jsonSara,index1,index2)
; We now have this:
Debug CkJsonObject::ckEmit(json)
; {
; "petter": {
; "DOB": "26/02/1986",
; "gender": "male",
; "country": "US"
; },
; "Jon": {
; "DOB": "19/03/1984",
; "gender": "male",
; "country": "UK"
; },
; "Sara": {
; "country": "FR",
; "gender": "female",
; "DOB": "13/05/1982"
; }
; }
CkJsonObject::ckDispose(json)
CkJsonObject::ckDispose(jsonSara)
ProcedureReturn
EndProcedure