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

Jul*_*tea 17 json objective-c nsdata ios swift

所以我使用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}]
Run Code Online (Sandbox Code Playgroud)

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

Sim*_*ain 71

如果您使用的是iOS 5.0及更高版本,则可以执行以下操作:

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);
}
Run Code Online (Sandbox Code Playgroud)

斯威夫特2.1

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