[英]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.