javascript - 通过 javascript 迭代 YQL JSON 结果 geo.places

标签 javascript jquery json yql

我正在尝试遍历来自 YQL geo.places table 的一些 JSON 结果使用 YQL jQuery 插件 ( http://plugins.jquery.com/project/jquery-yql) 使用以下代码进行故障排除;

$.yql("select * from geo.places where text=#{placename}", { 
        placename: '90210' 
    }, 
    function(data) {
        var Results = data.query.results;
        $.each(Results.place, function(name, value) {
            alert(name + ":" + value);
        });
    });
});

除非,当结果中有多个“地点”时,警报会吐回“0:[object][object]”、“1:[object][object]”等(针对每个地点).每当只有一个地方结果时,警报将吐出一个地方的所有名称和值(woeid、name、country、admin1 等)

基本上我想...

  1. 输入邮政编码到YQL

  2. 根据用户提交的数据从结果中验证城市/州/国家/地区

  3. 根据结果更新纬度和经度字段

谢谢!

最佳答案

如果 Yahoo 返回单个 place,它会作为 results 的一个属性,而不是作为一个地点数组。如果它不是数组,则无法迭代。所以测试是否是数组;如果不是,就把它变成一个:

$.yql("select * from geo.places where text=#{placename}", { 
        placename: '90210' 
    }, 
    function(data) {
        var Places = data.query.results.place;
        if (!Places.length) Places = [Places];
        $.each(Places, function(index, place) {
            alert(index + ":" + place.name);
        });
    });
});

关于javascript - 通过 javascript 迭代 YQL JSON 结果 geo.places,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312710/

相关文章:

javascript - 在 IE6 中显示和隐藏表格

javascript - 如何使用数组选择复选框名称

javascript - 查看img的src是否存在

javascript - 用于文本缩放的 jQuery 插件?

javascript - onclick() 事件不工作

javascript - 如何使用 jQuery 选择文本

javascript - JS Function 调用自身而不被调用

python - Pandas DataFrame 包含 JSON 格式的日期和时间

php - Json格式编码阿拉伯语

python - 从python的urllib2访问netflix api导致500错误