如何使用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 關注
- 937 瀏覽
添加回答
舉報
0/150
提交
取消