2011-09-19 66 views
1

我是JSON的新手如何使用jquery或javascript获取JSON中的对象

如何将下列数据显示到html中。对于示例,我想显示'西南''lat'和'lng',或者我想显示'文本'。

{ “路线”:[{ “边界”:{ “东北”:{ “LAT”:-26.758340, “LNG”:153.035930 }, “西南”:{ “LAT”:-27.454070, “LNG”:152.852150 }} , “版权”: “©2011 GBRMPA,谷歌,Whereis(R), Sensis的私人有限公司地图数据”, “腿”: “距离”{ “文本”: “89.7公里”, “值”:89693 }, “持续时间”:{ “文本”: “1小时17分钟”, “值”:4633 }, “END_ADDRESS” : “马莱尼QLD 4552,澳大利亚”, “END_LOCATION”:{ “LAT”:-26.758420, “LNG”:152.852150 }, “START_ADDRESS”: “布里斯班昆士兰,澳大利亚”, “START_LOCATION”:{ “lat”:-27.454070, “lng”:153.026880 }, } ], } ]}

干杯!

回答

3

正如Georgi所说,使用$.parseJSON(data)

然后,访问latlng属性,可以使用点符号:

var data = ''; // json string here 
var jsonObject = $.parseJSON(data); 
var lat = jsonObject.routes[0].bounds.northeast.lat; 
var lng = jsonObject.routes[0].bounds.northeast.lng; 

因为routes是一个数组对象,我们使用规则阵列元素访问([])来访问所述第一元件(0)。

3

假设数据是你的json,你可以使用$ .parseJSON(data)来获取对象。
顺便说一句,在你的例子中的json是无效的 - 你在结尾附近有两个额外的昏迷。下面是使用有效json的示例:

var data = '{ "routes" : [ { "bounds" : { "northeast" : { "lat" : -26.758340, "lng" : 153.035930 }, "southwest" : { "lat" : -27.454070, "lng" : 152.852150 } }, "copyrights" : "Map data ©2011 GBRMPA, Google, Whereis(R), Sensis Pty Ltd", "legs" : [ { "distance" : { "text" : "89.7 km", "value" : 89693 }, "duration" : { "text" : "1 hour 17 mins", "value" : 4633 }, "end_address" : "Maleny QLD 4552, Australia", "end_location" : { "lat" : -26.758420, "lng" : 152.852150 }, "start_address" : "Brisbane QLD, Australia", "start_location" : { "lat" : -27.454070, "lng" : 153.026880 } } ] } ] }'; 
var routes = $.parseJSON(data).routes; 

现在路由是路由对象的javascript数组。例如routes[0].copyrights返回“地图数据©2011 GBRMPA,Google,Whereis(R),Sensis Pty Ltd”。希望这可以帮助!

0

有可能是你的JSON字符串已经被解析,可以从一个Ajax服务中获得一个JSON对象,如果你那么想一定JSON对象或子对象的值,你可以把它拿来这样的:

var data = {here goes your whole json object you have above...}; 
var southwestLong = data.routes[0].bounds.southwest.lng; 

基本上,解析被遗漏了,因为它已经作为json对象出现了。

但在大多数情况下,您将编写一些循环遍历所有路由对象的循环,以便将它们呈现在列表中。

此外,我建议您测试一个特定的项目进行定义。因为如果你传入一个改变了的json对象,例如它有0个路由,上面的代码会出错,因为data.routes[0]不存在。

相关问题