Sample code for 30+ languages & platforms
Xbase++

JSON AddObjectCopyAt Example

Demonstrates the AddObjectCopyAt function.

Note: This example requires Chilkat v9.5.0.82 or above.

Chilkat Xbase++ Downloads

Xbase++
LOCAL oJson
LOCAL oJson2

oJson := CreateObject("Chilkat.JsonObject")
oJson:Load('{ "name": "John", "marbles": 100 }')

oJson2 := CreateObject("Chilkat.JsonObject")
oJson2:Load('{"street":"1200 Elm St.","city":"Springfield","zip":60606}')

//  Copy the contents of json2 to a new member object named "addr".
//  Insert it in the 2nd position.
oJson:AddObjectCopyAt(1, "addr", oJson2)

? oJson:Emit()
//  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:
oJson:UpdateString("addr.street", "1000 Oak St.")
? oJson:Emit()
//  Expected output is:  {"name":"John","addr":{"street":"1000 Oak St.","city":"Springfield","zip":60606},"marbles":100}

? oJson2:Emit()
//  Expected output is: {"street":"1200 Elm St.","city":"Springfield","zip":60606}

oJson:destroy()
oJson2:destroy()