Sample code for 30+ languages & platforms
PowerShell

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat PowerShell Downloads

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

$json1 = New-Object Chilkat.JsonObject
$json1.UpdateString("ID1.cn","Name")
$json1.UpdateString("ID1.objectGUID","GUID")
$json1.UpdateString("ID2.cn","Name")
$json1.UpdateString("ID2.objectGUID","GUID")

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

# json1 contains:
# {
#   "ID1": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   },
#   "ID2": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   }
# }

$json2 = New-Object Chilkat.JsonObject
$json2.UpdateString("Name1.ID1.cn","Name")
$json2.UpdateString("Name1.ID1.objectGUID","GUID")
$json2.UpdateString("Name1.ID2.cn","Name")
$json2.UpdateString("Name1.ID2.objectGUID","GUID")
$json2.UpdateString("Name2.ID3.cn","Name")
$json2.UpdateString("Name2.ID3.objectGUID","GUID")

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

# {
#   "Name1": {
#     "ID1": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     },
#     "ID2": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   },
#   "Name2": {
#     "ID3": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   }
# }

# Copy Name1, Name2 into json1

$i = 0
$numMembers = $json2.Size
while ($i -lt $numMembers) {
    $jsonObj = $json2.ObjectAt($i)
    $json1.AppendObjectCopy($json2.NameAt($i),$jsonObj)
    $i = $i + 1
}

# Now see what json1 contains:
$($json1.Emit())

# {
#   "ID1": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   },
#   "ID2": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   },
#   "Name1": {
#     "ID1": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     },
#     "ID2": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   },
#   "Name2": {
#     "ID3": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   }
# }