Objective-C
Objective-C
JSON: Array of Objects
See more JSON Examples
Here we have a JSON object that contains an array, where each element in the array is a JSON object. This example demonstrates how to access the objects contained within an array.
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
]
}
Chilkat Objective-C Downloads
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoJsonArray.h>
BOOL success = NO;
CkoJsonObject *json = [[CkoJsonObject alloc] init];
// This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
// The presence of whitespace chars for pretty-printing makes no difference to the Load
// method.
NSString *jsonStr = @"{\"employees\":[{\"firstName\":\"John\", \"lastName\":\"Doe\"},{\"firstName\":\"Anna\", \"lastName\":\"Smith\"},{\"firstName\":\"Peter\",\"lastName\":\"Jones\"}]}";
success = [json Load: jsonStr];
if (success != YES) {
NSLog(@"%@",json.LastErrorText);
return;
}
// Get the "employees" array.
CkoJsonArray *employees = [json ArrayOf: @"employees"];
if (json.LastMethodSuccess == NO) {
NSLog(@"%@",@"employees member not found.");
return;
}
// Iterate over each employee, getting the JSON object at each index.
int numEmployees = [employees.Size intValue];
int i = 0;
while (i < numEmployees) {
CkoJsonObject *empObj = [employees ObjectAt: [NSNumber numberWithInt: i]];
NSLog(@"%@%d%@%@%@%@",@"employee[",i,@"] = ",[empObj StringOf: @"firstName"],@" ",[empObj StringOf: @"lastName"]);
i = i + 1;
}