如何使用NSJSONSerialization我有一个JSON字符串(来自PHP的json_encode()看起来是这样的:[{"id": "1", "name":"Aaa"}, {"id": "2", "name":"Bbb"}]我想把它解析成iPhone应用程序的某种数据结构。我想对我来说最好的是有一个字典数组,所以数组中的第0元素是一个带键的字典。"id" => "1"和"name" => "Aaa".我不明白为什么NSJSONSerialization但是存储数据。到目前为止,这是我的代码:NSError *e = nil;NSDictionary *JSON = [NSJSONSerialization
JSONObjectWithData: data
options: NSJSONReadingMutableContainers
error: &e];这只是我在另一个网站上看到的一个例子。我一直在试着读一读JSON对象,方法是打印出元素的数量和类似的内容,但我总是得到EXC_BAD_ACCESS.我该如何使用NSJSONSerialization来解析上面的JSON,并将其转换为我提到的数据结构?
3 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
[{"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); }}
森林海
TA贡献2011条经验 获得超2个赞
NSError *jsonError = nil;id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&jsonError];if ([jsonObject isKindOfClass:[NSArray class]]) { NSLog(@"its an array!"); NSArray *jsonArray = (NSArray *)jsonObject; NSLog(@"jsonArray - %@",jsonArray);}else { NSLog(@"its probably a dictionary"); NSDictionary *jsonDictionary = (NSDictionary *)jsonObject; NSLog(@"jsonDictionary - %@",jsonDictionary);}
月关宝盒
TA贡献1772条经验 获得超5个赞
data
nil
NSString *jsonString = @"[{\"id\": \"1\", \"name\":\"Aaa\"}, {\"id\": \"2\", \"name\":\"Bbb\"}]";NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];NSError *e = nil;NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&e];NSLog(@"%@", json);
- 3 回答
- 0 关注
- 870 浏览
添加回答
举报
0/150
提交
取消