Objective-C
Objective-C
Swap JSON Objects
See more JSON Examples
Demonstrates how to swap two JSON objects within a JSON document.Chilkat Objective-C Downloads
#import <CkoJsonObject.h>
BOOL success = NO;
CkoJsonObject *json = [[CkoJsonObject alloc] init];
json.EmitCompact = NO;
// Load the following JSON:
// {
// "petter": {
// "DOB": "26/02/1986",
// "gender": "male",
// "country": "US"
// },
// "Sara": {
// "DOB": "13/05/1982",
// "gender": "female",
// "country": "FR"
// },
// "Jon": {
// "DOB": "19/03/1984",
// "gender": "male",
// "country": "UK"
// }
// }
success = [json LoadFile: @"qa_data/json/people.json"];
if (success == NO) {
NSLog(@"%@",json.LastErrorText);
return;
}
// Swap the positions of Jon and Sara.
int index1 = [[json IndexOf: @"Jon"] intValue];
int index2 = [[json IndexOf: @"Sara"] intValue];
[json Swap: [NSNumber numberWithInt: index1] index2: [NSNumber numberWithInt: index2]];
// We have this now:
NSLog(@"%@",[json Emit]);
// {
// "petter": {
// "DOB": "26/02/1986",
// "gender": "male",
// "country": "US"
// },
// "Jon": {
// "DOB": "19/03/1984",
// "gender": "male",
// "country": "UK"
// },
// "Sara": {
// "DOB": "13/05/1982",
// "gender": "female",
// "country": "FR"
// }
// }
// To swap an inner member:
CkoJsonObject *jsonSara = [[CkoJsonObject alloc] init];
[json ObjectOf2: @"Sara" jsonObj: jsonSara];
index1 = [[jsonSara IndexOf: @"DOB"] intValue];
index2 = [[jsonSara IndexOf: @"country"] intValue];
[jsonSara Swap: [NSNumber numberWithInt: index1] index2: [NSNumber numberWithInt: index2]];
// We now have this:
NSLog(@"%@",[json Emit]);
// {
// "petter": {
// "DOB": "26/02/1986",
// "gender": "male",
// "country": "US"
// },
// "Jon": {
// "DOB": "19/03/1984",
// "gender": "male",
// "country": "UK"
// },
// "Sara": {
// "country": "FR",
// "gender": "female",
// "DOB": "13/05/1982"
// }
// }