Sample code for 30+ languages & platforms
PowerBuilder

JSON AddObjectCopyAt Example

Demonstrates the AddObjectCopyAt function.

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

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Json
oleobject loo_Json2

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_Json
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Json.Load("{ ~"name~": ~"John~", ~"marbles~": 100 }")

loo_Json2 = create oleobject
li_rc = loo_Json2.ConnectToNewObject("Chilkat.JsonObject")

loo_Json2.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.
loo_Json.AddObjectCopyAt(1,"addr",loo_Json2)

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

Write-Debug loo_Json2.Emit()
// Expected output is: {"street":"1200 Elm St.","city":"Springfield","zip":60606}


destroy loo_Json
destroy loo_Json2