如何在Xcode 4.3.3中反序列化JSON

时间:2012-12-05 10:04:52

标签: iphone objective-c xcode json

我有一个Xcode项目,该项目使用NSURLConnection向Web服务发出请求,该服务返回JSON。

回归的JSON看起来像这样:

{"d":"{\"Graphic\":{\"HAName\":\"HSName\",\"HALogo\":\"main_menu_top_logo.png\",\"BarColour\":-16744448,\"BarButtonTextColour\":-28444,\"TextColour\":-16744448,\"BackGroundColour\":-23296,\"Error\":\"\"},\"App\":{\"App1\":true,\"App1Title\":\"Application1\",\"App2\":true,\"App2Title\":\"Application2\"Error\":\"\"},\"Version\":25,\"Error\":\"\"}"}

我试图使用:

解析JSON
NSDictionary* json = nil;
if (responseData) 
{
    json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:nil];
}

但是当我查看字典对象时,它看起来像这样:

d = "{\"Graphic\":{\"HAName\":\"HSName\",\"HALogo\":\"main_menu_top_logo.png\",\"BarColour\":-16744448,\"BarButtonTextColour\":-28444,\"TextColour\":-16744448,\"BackGroundColour\":-23296,\"Error\":\"\"},\"App\":{\"App1\":true,\"App1Title\":\"Application1\",\"App2\":true,\"App2Title\":\"Application2\"Error\":\"\"},\"Version\":25,\"Error\":\"\"};

字典只包含1个键/值对。

如何正确解析JSON对象?

1 个答案:

答案 0 :(得分:2)

我不知道问题是什么,它给了你包含很多其他词典的顶级词典。

如果不是这样,你还有什么期望?你不会从这个结构中得到一个数组。