Sample code for 30+ languages & platforms
AutoIt Requires Chilkat v11.0.0+

Insert JSON Array into another JSON Object

See more JSON Examples

Demonstrates how to insert a JSON array into a JSON object.

Chilkat AutoIt Downloads

AutoIt
;  Imagine we have two separate JSON objects.
$oJsonA = ObjCreate("Chilkat.JsonObject")
$oJsonA.UpdateString("ciphertext","encryptedData")
$oJsonA.UpdateInt("status",200)
$oJsonA.UpdateString("error","errorMsg")

$oJsonA.EmitCompact = False
ConsoleWrite($oJsonA.Emit() & @CRLF)

;  jsonA contains:

;  {
;    "ciphertext": "encryptedData",
;    "status": 200,
;    "error": "errorMsg"
;  }

$oJsonB = ObjCreate("Chilkat.JsonObject")
$oJsonB.UpdateString("users[0].role","Surgeon")
$oJsonB.UpdateNewArray("users[0].sub_roles")
$oJsonB.UpdateBool("users[0].viewable_for_sharing",True)
$oJsonB.UpdateInt("users[0].eula_create_date",123)
$oJsonB.UpdateString("users[1].role","Support")
$oJsonB.UpdateString("users[1].sub_roles[0]","Tech")
$oJsonB.UpdateString("users[1].sub_roles[1]","Service")
$oJsonB.UpdateBool("users[1].viewable_for_sharing",True)
$oJsonB.UpdateInt("users[1].eula_create_date",123)

$oJsonB.EmitCompact = False
ConsoleWrite($oJsonB.Emit() & @CRLF)

;  jsonB contains:

;  {
;    "users": [
;      {
;        "role": "Surgeon",
;        "sub_roles": [],
;        "viewable_for_sharing": true,
;        "eula_create_date": 1649108922482
;      },
;      {
;        "role": "Support",
;        "sub_roles": [
;          "Tech",
;          "Service"
;        ],
;        "viewable_for_sharing": true,
;        "eula_create_date": 1649108951523
;      }
;    ]
;  }

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

;  {
;    "ciphertext": "encryptedData",
;    "status": 200,
;    "error": "errorMsg",
;    "users": [
;      {
;        "role": "Surgeon",
;        "sub_roles": [],
;        "viewable_for_sharing": true,
;        "eula_create_date": 1649108922482
;      },
;      {
;        "role": "Support",
;        "sub_roles": [
;          "Tech",
;          "Service"
;        ],
;        "viewable_for_sharing": true,
;        "eula_create_date": 1649108951523
;      }
;    ]
;  }

;  The destination is the empty "users" array, the source is the populated "users" array in jsonB.
$oJsonUsersDest = ObjCreate("Chilkat.JsonArray")
$oJsonA.AppendArray2("users",$oJsonUsersDest)

$oJsonUsersSrc = ObjCreate("Chilkat.JsonArray")
$oJsonB.ArrayOf2("users",$oJsonUsersSrc)

;  Copy the array items from source to dest
$oJsonUsersDest.AppendArrayItems($oJsonUsersSrc)

ConsoleWrite($oJsonA.Emit() & @CRLF)

;  The end result is this:

;  {
;    "ciphertext": "encryptedData",
;    "status": 200,
;    "error": "errorMsg",
;    "users": [
;      {
;        "role": "Surgeon",
;        "sub_roles": [
;        ],
;        "viewable_for_sharing": true,
;        "eula_create_date": 123
;      },
;      {
;        "role": "Support",
;        "sub_roles": [
;          "Tech",
;          "Service"
;        ],
;        "viewable_for_sharing": true,
;        "eula_create_date": 123
;      }
;    ]
;  }