Sample code for 30+ languages & platforms
Perl

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat Perl Downloads

Perl
use chilkat();

$json1 = chilkat::CkJsonObject->new();
$json1->UpdateString("ID1.cn","Name");
$json1->UpdateString("ID1.objectGUID","GUID");
$json1->UpdateString("ID2.cn","Name");
$json1->UpdateString("ID2.objectGUID","GUID");

$json1->put_EmitCompact(0);
print $json1->emit() . "\r\n";

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

$json2 = chilkat::CkJsonObject->new();
$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->put_EmitCompact(0);
print $json2->emit() . "\r\n";

# {
#   "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->get_Size();
while ($i < $numMembers) {
    # jsonObj is a JsonObject
    $jsonObj = $json2->ObjectAt($i);
    $json1->AppendObjectCopy($json2->nameAt($i),$jsonObj);
    $i = $i + 1;
}

# Now see what json1 contains:
print $json1->emit() . "\r\n";

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