Sample code for 30+ languages & platforms
AutoIt

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat AutoIt Downloads

AutoIt
$oJson1 = ObjCreate("Chilkat.JsonObject")
$oJson1.UpdateString("ID1.cn","Name")
$oJson1.UpdateString("ID1.objectGUID","GUID")
$oJson1.UpdateString("ID2.cn","Name")
$oJson1.UpdateString("ID2.objectGUID","GUID")

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

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

$oJson2 = ObjCreate("Chilkat.JsonObject")
$oJson2.UpdateString("Name1.ID1.cn","Name")
$oJson2.UpdateString("Name1.ID1.objectGUID","GUID")
$oJson2.UpdateString("Name1.ID2.cn","Name")
$oJson2.UpdateString("Name1.ID2.objectGUID","GUID")
$oJson2.UpdateString("Name2.ID3.cn","Name")
$oJson2.UpdateString("Name2.ID3.objectGUID","GUID")

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

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

; Copy Name1, Name2 into json1

Local $i = 0
Local $iNumMembers = $oJson2.Size
While $i < $iNumMembers
Local $oJsonObj = $oJson2.ObjectAt($i)
    $oJson1.AppendObjectCopy($oJson2.NameAt($i),$oJsonObj)
    $i = $i + 1
Wend

; Now see what json1 contains:
ConsoleWrite($oJson1.Emit() & @CRLF)

; {
;   "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"
;     }
;   }
; }