PowerBuilder
PowerBuilder
JSON AppendArrayCopy Example
Demonstrates the AppendArrayCopy function.Note: This example requires Chilkat v9.5.0.82 or above.
Chilkat PowerBuilder Downloads
integer li_rc
oleobject loo_Json
oleobject loo_Jarr
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_Jarr = create oleobject
li_rc = loo_Jarr.ConnectToNewObject("Chilkat.JsonArray")
loo_Jarr.Load("[ 1, 2, 3, ~"apple~", ~"orange~", [ 10, 20, 30 ], { ~"name~": ~"Alfred~"} ]")
// Copy the contents of jar to a new array member named "stuff".
loo_Json.AppendArrayCopy("stuff",loo_Jarr)
Write-Debug loo_Json.Emit()
// Expected output is: {"name":"John","marbles":100,"stuff":[1,2,3,"apple","orange",[10,20,30],{"name":"Alfred"}]}
// Note: The contents of the array were copied.
// If we modify the contents of jarr, it does not modify the array contained within "json" because it is a separate copy.
// For example:
loo_Jarr.AddIntAt(-1,2020)
Write-Debug loo_Jarr.Emit()
// Expected output: [1,2,3,"apple","orange",[10,20,30],{"name":"Alfred"},2020]
Write-Debug loo_Json.Emit()
// Remains unchanged: {"name":"John","marbles":100,"stuff":[1,2,3,"apple","orange",[10,20,30],{"name":"Alfred"}]}
destroy loo_Json
destroy loo_Jarr