我有一个 JSON 字符串(来自 PHP 的 json_encode()
,如下所示:
[{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}]
我想将其解析为我的 iPhone 应用程序的某种数据结构。我想对我来说最好的事情是有一个字典数组,所以数组中的第 0 个元素是一个字典,键为 "id"=> "1"
和 "name"=> “啊”
。
我不明白 NSJSONSerialization
如何存储数据。到目前为止,这是我的代码:
NSError *e = nil;
NSDictionary *JSON = [NSJSONSerialization
JSONObjectWithData: data
options: NSJSONReadingMutableContainers
error: &e];
这只是我在另一个网站上看到的一个例子。我一直试图通过打印出元素的数量和类似的东西来读取 JSON
对象,但我总是得到 EXC_BAD_ACCESS
。
如何使用NSJSONSerialization
来解析上面的JSON,并把它变成我提到的数据结构?
最佳答案
您的根 json 对象不是字典而是数组:
[{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}]
这可能会让您清楚地了解如何处理它:
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);
}
}
关于ios - 如何使用 NSJSONSerialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8356842/