yahoo提供的jsonp代理

引入js文件


js部分

$(function(){
    $.getJSON("http://query.yahooapis.com/v1/public/yql", {
    q: "select * from json where url=\"http://m.weather.com.cn/data/101010100.html\"",
    format: "json"
}, function(data) {
    if (data.query.results) {
        console.log(JSON.stringify(data.query.results));
    } else {
        console.log('no such code: ' + code);
    }
});

http://m.weather.com.cn/data/101010100.html 是访问的一个天气数据,根据需要替换成自己的目标接口。

上例用到JSON.stringify()把得到的对象解析成了字符串

还有一个JSON.parse()用于从一个字符串中解析出json对象

      • 用JSON.parse()时单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。

测试几次后发现:返回的data不直接等于接口里面的数据,需要向下到data.query.results才能得到比较接近原数据的对象,不过也有情况还要向下找。需要多console.log()检查。

你可能感兴趣的:(yahoo提供的jsonp代理)