将 JSON 字符串转换为对象

Converting JSON string into object

我正在尝试使用以下代码将 JSON 字符串转换为 Objective C 中的对象:

NSString *jsonString = (NSString *) responseObject;
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
id  json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];

jsonString的值为

"[{\"Date\": \"12-01-2015\", \"Time\": \"7:00 am\", \"Title\": \"First Car Service\", \"Details\": \"This was the first car service ever done\"}]"

但是json的值始终为零。如何将 jsonString 转换为 NSArray ?

从错误来看,可能是您的字符串格式不正确,可能是引号引起的。

您还应确保在格式化字符串后,检查数组是否包含对象。

NSLog(@"JSON Details: %@", json[0][@"Details"]);

我的(第三个)赌注:您的 json 字符串不正确。如果它包含前导引号和尾随引号,则将它们去掉。将 \" 替换为 "

更好:使服务器或其他 json 源发送正确 json。