我无法通过AJAX获得嵌套的JSON结果
I cannot get nested JSON-results through AJAX
我已经尝试过遵循多个关于如何做到这一点的指南,但都不起作用。我还尝试在现有的函数中添加$.each
-函数,但没有成功。这就是我的JSON结果(它只是一个片段,当直接复制到这里时可能会被破坏,但你明白了):
{
"loc": [
{
"path_id": "Trail1",
"places": [
{
"way_distance": 2,
"trace_location": {
"lat": 51.2383342365623,
"lng": 20.265387296676636
},
"trace_info": "",
"way_name": ""
}
]
}
]
}
我可以从"path_id"中获取数据,但不能从"trace_location"中获取,代码如下:
$.getJSON(url, function(data){
$.each(data.loc,function(i,emp){
var a = this.path_id;
console.log(a); //works
var b = this.places[0].trace_location;
var c = this.places.trace_location;
console.log(b); //seems to output objects, but then crashes
console.log(c); //output is undefined
});
});
当我做console.log(b);时;,系统以以下错误进行响应:
tringhar.html:36 Uncaught TypeError: Cannot read property 'trace_location' of undefined
我希望能够从"trace_location"输出数据,而不会出现undefined
或错误。非常感谢。
编辑:
仍然无法使用此代码:
var url = 'https://forward-byte-711.appspot.com/read/Test/Development/en';
$(function(){
$.getJSON(url, function(data){
$.each(data.paths,function(i,emp){
var b = this.places[0].place_position;
console.log(b);
});
});
});
places
是一个数组。
var c = this.places.trace_location;
需要
var c = this.places[0].trace_location;
这是一个CodePen的例子-它正在中工作
在您的示例中,它崩溃的原因不是因为console.log(b)
语句,而是因为您试图从未定义的位置访问trace_location
。从代码中删除var c
和console.log(c)
语句。
这里有一个jsfiddle。json的其余部分可能有其他问题,或者您的一个对象实际上没有您试图在json提要中访问的属性。例如,place
在json中没有trace_location
。
var data = {
"loc": [{
"path_id": "Trail1",
"places": [{
"way_distance": 2,
"trace_location": {
"lat": 51.2383342365623,
"lng": 20.265387296676636
},
"trace_info": "",
"way_name": ""
}]
}]
};
data.loc.forEach(function(item) {
console.log(item);
item.places.forEach(function(place){
console.log(place);
});
});
相关文章:
- 访问嵌套JSON对象的键,其中键是动态的
- 从多维嵌套json数组创建下拉列表
- 带嵌套json的下划线js查找
- 返回嵌套JSON中包含特定键的所有值
- 嵌套JSON到平面HTML表
- 原型Ajax请求参数为嵌套json
- 从对象数组中动态创建嵌套json
- ExtJS 4.1-检索嵌套JSON的hasOne信息
- 更新嵌套json Angularjs中的对象
- 访问嵌套 json 对象的属性将返回未定义
- 如何解析没有键的嵌套json's的javascript
- 显示嵌套json集合的主干
- 列表中呈现的骨干嵌套json对象
- 如何使用promise来反规范化嵌套json
- 正在读取嵌套json,jquery返回undefined
- Ionic/Angular:如何在嵌套json中导航
- 如何访问AngularJs中的嵌套Json对象
- 使用Javascript查找并更新嵌套JSON数组和对象中的所有键值
- 如何获取给定表单详细信息的嵌套json对象
- 通过Javascript中的递归迭代映射嵌套JSON