PureBasic
PureBasic
JSON AddObjectCopyAt Example
Demonstrates the AddObjectCopyAt function.Note: This example requires Chilkat v9.5.0.82 or above.
Chilkat PureBasic Downloads
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoad(json,"{ " + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "John" + Chr(34) + ", " + Chr(34) + "marbles" + Chr(34) + ": 100 }")
json2.i = CkJsonObject::ckCreate()
If json2.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoad(json2,"{" + Chr(34) + "street" + Chr(34) + ":" + Chr(34) + "1200 Elm St." + Chr(34) + "," + Chr(34) + "city" + Chr(34) + ":" + Chr(34) + "Springfield" + Chr(34) + "," + Chr(34) + "zip" + Chr(34) + ":60606}")
; Copy the contents of json2 to a new member object named "addr".
; Insert it in the 2nd position.
CkJsonObject::ckAddObjectCopyAt(json,1,"addr",json2)
Debug CkJsonObject::ckEmit(json)
; Expected output is: {"name":"John","addr":{"street":"1200 Elm St.","city":"Springfield","zip":60606},"marbles":100}
; Note: Modifying the contents of json does not modify the contents of json2 (because the contents of json2 were copied).
; For example:
CkJsonObject::ckUpdateString(json,"addr.street","1000 Oak St.")
Debug CkJsonObject::ckEmit(json)
; Expected output is: {"name":"John","addr":{"street":"1000 Oak St.","city":"Springfield","zip":60606},"marbles":100}
Debug CkJsonObject::ckEmit(json2)
; Expected output is: {"street":"1200 Elm St.","city":"Springfield","zip":60606}
CkJsonObject::ckDispose(json)
CkJsonObject::ckDispose(json2)
ProcedureReturn
EndProcedure