Sample code for 30+ languages & platforms
Objective-C

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>

CkoJsonObject *json1 = [[CkoJsonObject alloc] init];
[json1 UpdateString: @"ID1.cn" value: @"Name"];
[json1 UpdateString: @"ID1.objectGUID" value: @"GUID"];
[json1 UpdateString: @"ID2.cn" value: @"Name"];
[json1 UpdateString: @"ID2.objectGUID" value: @"GUID"];

json1.EmitCompact = NO;
NSLog(@"%@",[json1 Emit]);

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

CkoJsonObject *json2 = [[CkoJsonObject alloc] init];
[json2 UpdateString: @"Name1.ID1.cn" value: @"Name"];
[json2 UpdateString: @"Name1.ID1.objectGUID" value: @"GUID"];
[json2 UpdateString: @"Name1.ID2.cn" value: @"Name"];
[json2 UpdateString: @"Name1.ID2.objectGUID" value: @"GUID"];
[json2 UpdateString: @"Name2.ID3.cn" value: @"Name"];
[json2 UpdateString: @"Name2.ID3.objectGUID" value: @"GUID"];

json2.EmitCompact = NO;
NSLog(@"%@",[json2 Emit]);

// {
//   "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.Size intValue];
while (i < numMembers) {
    CkoJsonObject *jsonObj = [json2 ObjectAt: [NSNumber numberWithInt: i]];
    [json1 AppendObjectCopy: [json2 NameAt: [NSNumber numberWithInt: i]] jsonObj: jsonObj];
    i = i + 1;
}

// Now see what json1 contains:
NSLog(@"%@",[json1 Emit]);

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