繁体   English   中英

用jQuery解析JSON数据

[英]Parsing JSON data with jQuery

因此,我正在使用Yahoo的API将坐标转换为邮政编码。 它返回的JSON是这样的:

{
"ResultSet": {
    "version": "1.0",
    "Error": 0,
    "ErrorMessage": "No error",
    "Locale": "us_US",
    "Quality": 99,
    "Found": 1,
    "Results": [{
         ....
     }]

我正在做的是:

$.getJSON("http://where.yahooapis.com/geocode?q=" + lat + ",+" + lon + "&gflags=R&flags=J", function(data){
            console.log(data.ResultSet.Results.postal);
        });

我上面列出的显然不起作用。 我的问题是:如何访问结果数组中的数据?

谢谢

作为结果是一个数组,将控制台日志行更改为以下工作吗?

console.log(data.ResultSet.Results[0].postal)

在这种情况下,只需遍历数组即可获取每个元素。 对于我来说,获取JSON的代码看起来不错,我想您只是错过了数组元素位:)

这应该工作。

$.getJSON("http://where.yahooapis.com/geocode?q=234532,234533&gflags=R&flags=J", function(data){
   $.each(data.ResultSet.Results,function(i,item){
      console.log(data.ResultSet.Results[i].postal);
   });     
});

示例: http//jsfiddle.net/ALsHH/11/

console.log(data.ResultSet.Results.postal); 正在尝试访问名为data.ResultSet.Results的对象上的名为portal的属性,但是该属性不存在,因为Results是对象的数组。

您可能需要做的是对数组进行迭代,例如...

$.getJSON("http://where.yahooapis.com/geocode?q=" + lat + ",+" + lon + "&gflags=R&flags=J", function(data){
    for (var i=0; i< data.ResultSet.Results.length; i++) {
        console.log("data.ResultSet.Results[i].postal = " + data.ResultSet.Results[i].postal);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM