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]);