Sample code for 30+ languages & platforms
PHP ActiveX

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$json1 = new COM("Chilkat.JsonObject");
$json1->UpdateString('ID1.cn','Name');
$json1->UpdateString('ID1.objectGUID','GUID');
$json1->UpdateString('ID2.cn','Name');
$json1->UpdateString('ID2.objectGUID','GUID');

$json1->EmitCompact = 0;
print $json1->emit() . "\n";

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

$json2 = new COM("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 = 0;
print $json2->emit() . "\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->Size;
while ($i < $numMembers) {
    // jsonObj is a Chilkat.JsonObject
    $jsonObj = $json2->ObjectAt($i);
    $json1->AppendObjectCopy($json2->nameAt($i),$jsonObj);
    $i = $i + 1;
}

// Now see what json1 contains:
print $json1->emit() . "\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"
//     }
//   }
// }

?>