Sample code for 30+ languages & platforms
Objective-C

JSON: Miscellaneous Operations

See more JSON Examples

Demonstrates a variety of JSON API methods. This example uses the following JSON document:
{
   "alphabet": "abcdefghijklmnopqrstuvwxyz",
   "sampleData" : {
           "pi": 3.14,
	   "apple": "juicy",
	   "hungry": true,
	   "withoutValue": null,
           "answer": 42
          
	}
}

Chilkat Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>

BOOL success = NO;

CkoJsonObject *json = [[CkoJsonObject alloc] init];
json.EmitCompact = NO;

//  Assume the file contains the data as shown above..
success = [json LoadFile: @"qa_data/json/sample2.json"];
if (success == NO) {
    NSLog(@"%@",json.LastErrorText);
    return;
}

//  Get the "sampleData" object:
CkoJsonObject *sampleData = [[CkoJsonObject alloc] init];
[json ObjectOf2: @"sampleData" jsonObj: sampleData];

//  Demonstrate BoolAt and BoolOf
NSLog(@"%@%d",@"hungry: ",[sampleData BoolOf: @"hungry"]);
NSLog(@"%@%d",@"hungry: ",[sampleData BoolAt: [NSNumber numberWithInt: 2]]);

//  StringOf returns the value as a string regardless of it's actual type:
NSLog(@"%@%@",@"pi: ",[sampleData StringOf: @"pi"]);
NSLog(@"%@%@",@"answer: ",[sampleData StringOf: @"answer"]);
NSLog(@"%@%@",@"withoutValue: ",[sampleData StringOf: @"withoutValue"]);
NSLog(@"%@%@",@"hungry: ",[sampleData StringOf: @"hungry"]);

//  Demonstrate IsNullOf / IsNullAt
NSLog(@"%@%d",@"withoutValue is null? ",[sampleData IsNullOf: @"withoutValue"]);
NSLog(@"%@%d",@"withoutValue is null? ",[sampleData IsNullAt: [NSNumber numberWithInt: 3]]);
NSLog(@"%@%d",@"apple is null? ",[sampleData IsNullOf: @"apple"]);
NSLog(@"%@%d",@"apple is null? ",[sampleData IsNullAt: [NSNumber numberWithInt: 1]]);

//  IntOf
NSLog(@"%@%d",@"answer: ",[[sampleData IntOf: @"answer"] intValue]);

//  SetNullAt, SetNullOf
//  Set "pi" to null
success = [sampleData SetNullAt: [NSNumber numberWithInt: 0]];
//  Set "answer" to null
success = [sampleData SetNullOf: @"answer"];

//  Show the changes:
NSLog(@"%@",[json Emit]);

//  Restore pi and apple:
success = [sampleData SetNumberAt: [NSNumber numberWithInt: 0] value: @"3.14"];
success = [sampleData SetNumberOf: @"answer" value: @"42"];

//  Show the changes:
NSLog(@"%@",[json Emit]);

//  Add a null value named "afterApple" just after "apple"
success = [sampleData AddNullAt: [NSNumber numberWithInt: 2] name: @"afterApple"];

//  Add a boolean value just after "pi"
success = [sampleData AddBoolAt: [NSNumber numberWithInt: 1] name: @"afterPi" value: NO];

//  Examine the changes..
NSLog(@"%@",[json Emit]);