如何从NSData对象获取JSON对象数组

时间:2013-03-14 06:12:55

标签: ios objective-c json swift nsdata

所以我使用HTTP GET方法返回一个JSON对象数组,这些对象存储在NSData中。该数组如下所示:

[{"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}]

我将如何提取这些JSON对象并从NSData中迭代它们?

1 个答案:

答案 0 :(得分:70)

如果你正在使用iOS 5.0及更高版本,你可以这样做:

目标-C:

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

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

夫特:

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