使用YQL为Facebook获取JSON数据

时间:2012-12-19 08:25:06

标签: jquery ajax json yql

我想知道如何使用YQL获取JSON数据。

这是我的JSON网址:

https://www.facebook.com/feeds/page.php?id=397319800348866&format=json

2 个答案:

答案 0 :(得分:6)

下面是一个使用jQuery的快速示例,它可能会帮助你

$(function () {
    $.ajax({
        url: "http://query.yahooapis.com/v1/public/yql",
        dataType: "jsonp",
        success: function (data) {
            console.log(data.query.results.json);
            $.each(data.query.results.json.entries, function (i, v) {
                //console.log(data.query.results.json.entries[i]);
                $('#entries').append(data.query.results.json.entries[i].title + '<br />');
            });
        }, data: {
            q: 'select * from json where url="https://www.facebook.com/feeds/page.php?id=397319800348866&format=json"',
            format: "json"
        }
    });
});

在带有上述网址的console.log中,我能够取回以下结果:

entries: Array[29]
icon: "http://www.facebook.com/favicon.ico"
link: "http://www.facebook.com/"
self: "https://www.facebook.com/feeds/page.php?id=397319800348866&format=json"
title: "Doers Inc's Facebook Wall"
updated: "2012-12-19T01:08:44-08:00"

工作示例供参考:http://jsfiddle.net/DtNxb/1/

答案 1 :(得分:2)

如果您使用jQuery.getJSON,则比您想象的要容易。

试试这个:

$.getJSON("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22your_url&format=json",
          function(data) {
              var id = data.query.results.div;
              $('#table').append('<li>'+id.h1+'</li>');
              $('#table').listview('refresh');
          }
);

<强> A simple demo here