Objective-C
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
#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]);