Sample code for 30+ languages & platforms
Objective-C

Loading and Parsing a JSON Array

See more JSON Examples

A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.

Chilkat Objective-C Downloads

Objective-C
#import <NSString.h>
#import <CkoJsonArray.h>
#import <CkoJsonObject.h>

NSString *strJsonArray = @"[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]";

NSString *strJsonObject = @"{\"pets\":[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]}";

// A JSON array must be loaded using JsonArray:
CkoJsonArray *jsonArray = [[CkoJsonArray alloc] init];
[jsonArray Load: strJsonArray];

// Examine the values:
int i = 0;
while (i < [jsonArray.Size intValue]) {
    CkoJsonObject *jsonObj = [jsonArray ObjectAt: [NSNumber numberWithInt: i]];
    NSLog(@"%d%@%@",i,@": ",[jsonObj StringOf: @"name"]);

    i = i + 1;
}

// Output is:

// 	0: jack
// 	1: john
// 	2: joe

// A JSON object must be loaded using JsonObject
CkoJsonObject *jsonObject = [[CkoJsonObject alloc] init];
[jsonObject Load: strJsonObject];

// Examine the values:
i = 0;
int numPets = [[jsonObject SizeOfArray: @"pets"] intValue];
while (i < numPets) {
    jsonObject.I = [NSNumber numberWithInt: i];
    NSLog(@"%d%@%@",i,@": ",[jsonObject StringOf: @"pets[i].name"]);
    i = i + 1;
}

// Output is:

// 	0: jack
// 	1: john
// 	2: joe