Unicode C
Unicode C
JSON Copy Objects
See more JSON Examples
Copy objects from one JSON document to another.Chilkat Unicode C Downloads
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
HCkJsonObjectW json1;
HCkJsonObjectW json2;
int i;
int numMembers;
HCkJsonObjectW jsonObj;
json1 = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json1,L"ID1.cn",L"Name");
CkJsonObjectW_UpdateString(json1,L"ID1.objectGUID",L"GUID");
CkJsonObjectW_UpdateString(json1,L"ID2.cn",L"Name");
CkJsonObjectW_UpdateString(json1,L"ID2.objectGUID",L"GUID");
CkJsonObjectW_putEmitCompact(json1,FALSE);
wprintf(L"%s\n",CkJsonObjectW_emit(json1));
// json1 contains:
// {
// "ID1": {
// "cn": "Name",
// "objectGUID": "GUID"
// },
// "ID2": {
// "cn": "Name",
// "objectGUID": "GUID"
// }
// }
json2 = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json2,L"Name1.ID1.cn",L"Name");
CkJsonObjectW_UpdateString(json2,L"Name1.ID1.objectGUID",L"GUID");
CkJsonObjectW_UpdateString(json2,L"Name1.ID2.cn",L"Name");
CkJsonObjectW_UpdateString(json2,L"Name1.ID2.objectGUID",L"GUID");
CkJsonObjectW_UpdateString(json2,L"Name2.ID3.cn",L"Name");
CkJsonObjectW_UpdateString(json2,L"Name2.ID3.objectGUID",L"GUID");
CkJsonObjectW_putEmitCompact(json2,FALSE);
wprintf(L"%s\n",CkJsonObjectW_emit(json2));
// {
// "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 = CkJsonObjectW_getSize(json2);
while (i < numMembers) {
jsonObj = CkJsonObjectW_ObjectAt(json2,i);
CkJsonObjectW_AppendObjectCopy(json1,CkJsonObjectW_nameAt(json2,i),jsonObj);
i = i + 1;
}
// Now see what json1 contains:
wprintf(L"%s\n",CkJsonObjectW_emit(json1));
// {
// "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"
// }
// }
// }
CkJsonObjectW_Dispose(json1);
CkJsonObjectW_Dispose(json2);
}