我有一个JSON字符串(来自PHP json_encode(),看起来像这样:
json_encode()
[{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}]
我想将其解析为iPhone应用程序的某种数据结构。我想对我来说最好的是拥有一个字典数组,因此数组中的第0个元素是带有键"id" => "1"和的字典"name" => "Aaa"。
"id" => "1"
"name" => "Aaa"
我不明白如何NSJSONSerialization存储数据。到目前为止,这是我的代码:
NSJSONSerialization
NSError *e = nil; NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e];
这只是我在另一个网站上看到的示例。我一直在尝试JSON通过打印出诸如此类的元素和事物的数量来读取对象,但是我一直在得到EXC_BAD_ACCESS。
JSON
EXC_BAD_ACCESS
如何使用NSJSONSerialization上面的JSON解析,并将其转换为我提到的数据结构?
您的json根对象不是字典而是数组:
这可以使您清楚地了解如何处理它:
NSError *e = nil; NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e]; if (!jsonArray) { NSLog(@"Error parsing JSON: %@", e); } else { for(NSDictionary *item in jsonArray) { NSLog(@"Item: %@", item); } }