-3

我正在尝试从这个 JSON 中的editcount获取数字:

http://es.ben10.wikia.com/api.php?action=query&list=users&ususers=Benfutbol10&usprop=editcount&format=json

或者这个 XML:

http://es.ben10.wikia.com/api.php?action=query&list=users&ususers=Benfutbol10&usprop=editcount&format=xml

我怎样才能做到这一点?我之前测试过,但我无法得到任何结果。

谢谢。

4

2 回答 2

0

您的 url 不支持 jsonp,因此您必须使用服务器端语言来完成这是 php 的示例代码

<?php
$content = json_decode(file_get_contents('http://es.ben10.wikia.com/api.php?action=query&list=users&ususers=Benfutbol10&usprop=editcount&format=json'));
echo '<pre>';
print_r(current($content->query->users)->editcount);
echo '</pre>';
exit;

如果您想从远程服务器使用 json,这里是一个示例http://api.jquery.com/jQuery.getJSON/#example-0但请记住使用 javascript 从跨域读取数据,您必须在该服务器中设置 jsonp .

于 2013-09-28T08:28:28.707 回答
0

如果您想使用 jQuery,您可以执行以下操作:

$(document).ready(function()
{
    var jsonString = "{\"query\":{\"users\":[{\"userid\":982510,\"name\":\"Benfutbol10\",\"editcount\":29012}]}}";

    var obj = jQuery.parseJSON(jsonString);

    alert(obj.query.users[0].editcount);
});

这里有一个例子:jsfiddle

或者,如果你想从给定的 url 加载你的 json,你可以在 AJAX 请求的帮助下完成。

以下代码将执行相同的操作,但它将从给定的 URL 动态加载 json

$(document).ready(function()
{
    $.ajax(
    {
        dataType: "jsonp",
        url: "http://es.ben10.wikia.com/api.php?action=query&list=users&ususers=Benfutbol10&usprop=editcount&format=json",
        success:function(data)
        {
            alert(data.query.users[0].editcount);
        }
    });
});

这里是与 ajax 相同的示例:jsfiddle

于 2013-09-28T08:48:12.190 回答