任何人都可以帮我解析这个复杂的嵌套json数据吗?
我正在使用iPhone Xcode 4.3和objective-c.please提供小型演示。
{"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : 61.1820430,
"lng" : -149.8003850
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
"id" : "207c77fb1258ef8cb22abe391c4924850a1ac045",
"name" : "Alaska Native Medical Center Rad",
"reference" : "CoQBdwAAAG5xNU-hb4BzNd-9H8IcLHcnz8txVe2j00HjRmjInS6uYt0j4qnAhOU_FNkHSSjvZd47dVu8Vk8Vj2iuu0NDDDa3tkCK-yHbUaj1Wrg5DNFvPmou1jvsjUE6gRKUAHXXemRJTNgtDfvhnS5kNdS0c71r9Df2S_Yvu0m92z62D0TZEhACm7dSGWKcpfZ_H-zTi5BzGhRCM22q0rCD6vjD3keZfBELfn_VsA",
"types" : [ "hospital", "health", "establishment" ],
"vicinity" : "4315 Diplomacy Drive, Anchorage"
}
],
"status" : "OK"
}
答案 0 :(得分:1)
有一个名为JSONKit的objective-c库非常好用。它会为您提供一个NSArray或NSDictionary,然后您可以从中获取数据。
https://github.com/johnezang/JSONKit
就像这样简单:
NSDictionary *unserializedData = [jsonString objectFromJSONString];
其中jsonString是您想要在NSString中解析的上面的json数据。
答案 1 :(得分:1)
对于这种复杂的JSON字符串,您不能使用google的JSON框架工作。但是要将该字符串分配给NSDictionary,您将需要该框架工作。 首先将该框架添加到您的项目中。然后将JSON.h文件添加到.m文件中。 然后使用分配该字符串如下: NSDictionary * dic = [jsonString JSONValues]; 在此行之后,您将获得三个键中字符串的所有值。 第一个键是“html_attributions”,第二个键是“result”,第三个键是“status”。 要访问第二个键的内部值,您必须将其分配给另一个NSDictionary或NSArray变量。并使用键来访问值。
它仅适用于上面提到的JSON字符串。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您在iPhone上可以使用各种JSON库将JSON字符串转换为NSDictionary和NSArray对象
JSON Kit是一个非常快速且轻量级的库,您可以使用它: https://github.com/johnezang/JSONKit
或者有JSON框架: http://code.google.com/p/json-framework/
此外,如果定位iOS 5设备,Apple还包含了自己的JSON解串器。看一下NSJSONSerialization类