无法从JSON获取嵌套对象

时间:2016-04-11 22:36:25

标签: javascript jquery json api rest

我之前尝试过这方面的帮助,但似乎没有任何效果。我想从REST API中检索一些嵌套对象。

这是我正在使用的代码,应该可以使用:

  var url = 'XXXXX';

$(function(){

            $.getJSON(url, function(data){

              $.each(data.paths,function(i,emp){          
                var b = this.places[0].place_radius;

                console.log(b);
                });



            });

});

但是,当我尝试在Web浏览器中执行它时,我收到此错误消息:

25
25
apirest.html:14 Uncaught TypeError: Cannot read property 'place_radius' of undefined

我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:2)

这是快速检查一堆子元素并将正确值分配给“b”的一种方法,如果不存在某些内容,则为false。请注意,如果place_radius是假的(评估为bool false,例如为零),则必须使用更仔细的技术。

$.getJSON(url, function(data){
  $.each(data.paths,function(i,emp){
    var b = this.places && this.places[0] && this.places[0].place_radius || false;
    if (b === false) {
      console.log("that thing did not exist");
    } else {
      console.log(b);
    }
  });
});