Sample code for 30+ languages & platforms
PowerBuilder

Insert JSON Object into another JSON Object

See more JSON Examples

Demonstrates how to insert one JSON object into another. Effectively, the JSON object must be copied into the other..

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_JsonA
oleobject loo_JsonB

// Imagine we have two separate JSON objects.
loo_JsonA = create oleobject
li_rc = loo_JsonA.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_JsonA
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_JsonA.UpdateString("animal","zebra")
loo_JsonA.UpdateString("colors[0]","white")
loo_JsonA.UpdateString("colors[1]","black")

loo_JsonA.EmitCompact = 0
Write-Debug loo_JsonA.Emit()

// jsonA contains:

// {
//   "animal": "zebra",
//   "colors": [
//     "white",
//     "black"
//   ]
// }

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

loo_JsonB.UpdateString("type","mammal")
loo_JsonB.UpdateBool("carnivore",0)

loo_JsonB.EmitCompact = 0
Write-Debug loo_JsonB.Emit()

// jsonB contains:

// {
//   "type": "mammal",
//   "carnivore": false
// }

// Let's say we want to insert jsonB into jsonA to get this:

// {
//   "animal": "zebra",
//   "info" " {
//       "type": "mammal",
//       "carnivore": false
// 	},
//   "colors": [
//     "white",
//     "black"
//   ]
// }

loo_JsonA.AddObjectCopyAt(1,"info",loo_JsonB)

Write-Debug loo_JsonA.Emit()

// The result is this:

// {
//   "animal": "zebra",
//   "info": {
//     "type": "mammal",
//     "carnivore": false
//   },
//   "colors": [
//     "white",
//     "black"
//   ]
// }


destroy loo_JsonA
destroy loo_JsonB