getJSON返回undefined

时间:2013-06-15 21:04:54

标签: jquery json

我想从返回的JSON格式中获取纬度和经度,但它返回未定义的

这是我的代码到目前为止,json格式请查看URL究竟返回什么

$.ajax({
    type: 'GET',
    url: "http://maps.googleapis.com/maps/api/geocode/json?address=Garibaldi,Prishtina&sensor=true",
    dataType: 'json',
    success: function (data) {

        $.each(data, function () {
            $.each(this, function (key, value) {
                switch (key) {

                    case "lat":
                        alert(value) // access to this node works fine                      
                        break;

                    default:
                        alert(value[0].geometry.location.lat) // this is undefined
                        break;
                }
            });
        });
    }
});

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

为什么不呢......

$.ajax({
  type: 'GET',
  url: "http://maps.googleapis.com/maps/api/geocode/json?address=Garibaldi,Prishtina&sensor=true",
  dataType: 'json',
  success: function (data) {
       var loc = data.results[0].geometry.location;
       alert(loc.lat);
       alert(loc.lng);
        }
    });

答案 1 :(得分:2)

您应该使用value.geometry...代替value[0]。 指数不在$.each循环中使用。