2013-03-14 165 views
15

因此,我使用HTTP GET方法返回存储在NSData中的JSON对象数组。该阵列是这样的:如何从NSData对象获取JSON对象数组

[{"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的循环?

+0

你尝试搜索 “IOS JSON的NSData” ?这似乎打开了任意数量的已回答问题的,准确的话题... – 2013-03-14 06:15:16

+1

http://stackoverflow.com/questions/15180036/putting-json-into-an-array/15181743#15181743 – 2013-03-14 06:15:45

+1

的http:// bit.ly/ZNHHhD – 2013-03-14 06:16:53

回答

62

如果你使用的是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); 
} 

雨燕2.1

do { 
    let jsonArray = try NSJSONSerialization.JSONObjectWithData(myNSData, options:[]) 
    print("Array: \(jsonArray)") 
} 
catch { 
    print("Error: \(error)") 
} 
+1

错过了一些东西。固定!对于那个很抱歉。 – 2013-03-14 06:30:02

+0

完美。 [15个字符] – 2013-03-14 06:30:39