C++
C++
JSON Copy Objects
See more JSON Examples
Copy objects from one JSON document to another.Chilkat C++ Downloads
#include <CkJsonObject.h>
void ChilkatSample(void)
{
CkJsonObject json1;
json1.UpdateString("ID1.cn","Name");
json1.UpdateString("ID1.objectGUID","GUID");
json1.UpdateString("ID2.cn","Name");
json1.UpdateString("ID2.objectGUID","GUID");
json1.put_EmitCompact(false);
std::cout << json1.emit() << "\r\n";
// json1 contains:
// {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// }
CkJsonObject json2;
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(false);
std::cout << 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
int i = 0;
int numMembers = json2.get_Size();
while (i < numMembers) {
CkJsonObject *jsonObj = json2.ObjectAt(i);
json1.AppendObjectCopy(json2.nameAt(i),*jsonObj);
i = i + 1;
}
// Now see what json1 contains:
std::cout << 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"
// }
// }
// }
}