Sample code for 30+ languages & platforms
PowerShell 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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

#  Imagine we have two separate JSON objects.
$jsonA = New-Object Chilkat.JsonObject
$jsonA.UpdateString("ciphertext","encryptedData")
$jsonA.UpdateInt("status",200)
$jsonA.UpdateString("error","errorMsg")

$jsonA.EmitCompact = $false
$($jsonA.Emit())

#  jsonA contains:

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

$jsonB = New-Object Chilkat.JsonObject
$jsonB.UpdateString("users[0].role","Surgeon")
$jsonB.UpdateNewArray("users[0].sub_roles")
$jsonB.UpdateBool("users[0].viewable_for_sharing",$true)
$jsonB.UpdateInt("users[0].eula_create_date",123)
$jsonB.UpdateString("users[1].role","Support")
$jsonB.UpdateString("users[1].sub_roles[0]","Tech")
$jsonB.UpdateString("users[1].sub_roles[1]","Service")
$jsonB.UpdateBool("users[1].viewable_for_sharing",$true)
$jsonB.UpdateInt("users[1].eula_create_date",123)

$jsonB.EmitCompact = $false
$($jsonB.Emit())

#  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.
$jsonUsersDest = New-Object Chilkat.JsonArray
$jsonA.AppendArray2("users",$jsonUsersDest)

$jsonUsersSrc = New-Object Chilkat.JsonArray
$jsonB.ArrayOf2("users",$jsonUsersSrc)

#  Copy the array items from source to dest
$jsonUsersDest.AppendArrayItems($jsonUsersSrc)

$($jsonA.Emit())

#  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
#      }
#    ]
#  }