Ios – How to get an array of JSON objects from NSData object

iosjsonnsdataobjective cswift

So I'm using an HTTP GET method which returns an array of JSON objects, which are stored in NSData. The array looks like this:

[{"created_at":"2013-03-09T04:55:21Z","data_type":"image","id":5354,"latitude":37.785834,"longitude":-122.406417,"name":"tempObject","privacy":"public","radius":1000.0,"updated_at":"2013-03-09T04:55:21Z","user_id":101},{"created_at":"2013-03-10T20:57:08Z","data_type":"image","id":5364,"latitude":37.785834,"longitude":-122.406417,"name":"tempObject","privacy":"public","radius":1000.0,"updated_at":"2013-03-10T20:57:08Z","user_id":101}]

How would I go about extracting these JSON objects and iterate through them from the NSData?

Best Answer

If you're using iOS 5.0 and up, you can do this:

Objective-C:

NSError *error = nil;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:myNSData options:kNilOptions error:&error];

if (error != nil) {
    NSLog(@"Error parsing JSON.");
}
else {
    NSLog(@"Array: %@", jsonArray);
}

Swift:

do {
    let jsonArray = try JSONSerialization.jsonObject(with: myNSData, options:[])
    print("Array: \(jsonArray)")
}
catch {
    print("Error: \(error)")
}