从json调用第一个字符串

时间:2013-02-07 21:57:54

标签: javascript html ajax json jsonp

这是“维基搜索”和回调“维基百科”的维基百科链接。

http://en.wikipedia.org/w/api.php?action=opensearch&search=wiki&callback=wikipedia

我使用类似下面的内容

function wikipedia(w){
   alert(w)
}

这给了我自动建议,但它给了我完整的代码。是否有任何可以调用的javascript代码,例如此json的第一个结果。

我尝试了许多像以下

w[1]
w.wiki[0]

但没有成功。

4 个答案:

答案 0 :(得分:3)

w[1]中提供了建议列表,您需要遍历该列表以对其执行某些操作。

答案 1 :(得分:2)

你必须将这个JSON字符串解析成一个对象,如果你知道jQuery就可以尝试this

答案 2 :(得分:2)

如果w [1]像你说的那样抛出错误,那么你的代码可能还有其他问题。如果你可以使用jQuery我强烈推荐它用于jsonp。这段代码可以满足您的要求:

http://jsfiddle.net/Hg4KJ/

$.ajax({
    url: 'http://en.wikipedia.org/w/api.php?action=opensearch&search=wiki&callback=wikipedia',
    dataType: 'jsonp',
    callback: 'wikipedia'
}).done(function(w){
    var items = w[1];

    for(var i = 0, il = items.length; i < il; i++){
        console.log(items[i]);
    }
});

答案 3 :(得分:1)

试试这个

function wikipedia(w) {
    "use strict";
    var j = w;//JSON.parse(w); as commented, no need to parse.
    alert(j[1]);
}

如果你还没有使用jQuery。