Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery或javascript获取JSON中的对象_Javascript_Jquery_Json - Fatal编程技术网

如何使用jquery或javascript获取JSON中的对象

如何使用jquery或javascript获取JSON中的对象,javascript,jquery,json,Javascript,Jquery,Json,我不熟悉JSON 如何将以下数据显示到html中。对于样品,我想显示“西南”方向的“lat”和“lng”,或者我想显示“文本” {“路线”:[ { “界限”:{ “东北”:{ “lat”:-26.758340, “液化天然气”:153.035930 }, “西南”:{ “lat”:-27.454070, “液化天然气”:152.852150 } }, “版权”:“地图数据©2011 GBRMPA,谷歌,何处(R), 森斯私人有限公司“, “腿”:[ { “距离”:{ “文字”:“89.7公里”,

我不熟悉JSON

如何将以下数据显示到html中。对于样品,我想显示“西南”方向的“lat”和“lng”,或者我想显示“文本”

{“路线”:[ { “界限”:{ “东北”:{ “lat”:-26.758340, “液化天然气”:153.035930 }, “西南”:{ “lat”:-27.454070, “液化天然气”:152.852150 } }, “版权”:“地图数据©2011 GBRMPA,谷歌,何处(R), 森斯私人有限公司“, “腿”:[ { “距离”:{ “文字”:“89.7公里”, “价值”:89693 }, “期限”:{ “文本”:“1小时17分钟”, “价值”:4633 }, “结束地址”:“澳大利亚昆士兰州马勒尼4552号”, “结束位置”:{ “lat”:-26.758420, “液化天然气”:152.852150 }, “起始地址”:“澳大利亚昆士兰布里斯班”, “开始位置”:{ “lat”:-27.454070, “液化天然气”:153.026880 }, } ], } ]}


干杯

假设数据是您的json,您可以使用$.parseJSON(数据)获取对象。
顺便说一句,您的示例中的json是无效的-在末尾附近有两个额外的COMA。下面是一个使用有效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;

现在routes是route对象的javascript数组。例如,
routes[0]。版权
返回“地图数据©2011 GBRMPA,谷歌,Whereis(R),Sensis私人有限公司”。希望这有帮助

假设数据是您的json,您可以使用$.parseJSON(数据)获取对象。
顺便说一句,您的示例中的json是无效的-在末尾附近有两个额外的COMA。下面是一个使用有效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;
现在routes是route对象的javascript数组。例如,
routes[0]。版权
返回“地图数据©2011 GBRMPA,谷歌,Whereis(R),Sensis私人有限公司”。希望这有帮助

正如格奥尔基所说,使用

然后,要访问
lat
lng
属性,可以使用点符号:

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
)。

正如Georgi所说,使用

然后,要访问
lat
lng
属性,可以使用点符号:

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
)。

可能您的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]
不存在。

可能您的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]
不存在