从jQuery JSON中获取特定数据到变量中

Get specific data from jQuery JSON into variable

本文关键字:数据 变量 获取 jQuery JSON      更新时间:2023-09-26

我已经尝试了几乎所有的东西,但不能弄清楚这个?

我正在使用JSON为我的HTML应用程序创建一个列表视图,这部分工作得很好。但在相同的JSON调用中,我希望能够发送其他数据,以及我可以放入一些变量,但我不成功。

这是我正在尝试的:

dataUrl = 'http://mypage.com/playermenu.php?callback=?&userid=' + userid,
dataCallback = function(data){
    //var content = data.list.join("");
    //var now = data.menutime; // HERE I WANT THE MENUTIME TO BE PUT INTO A VARIABLE //
    alert("Date: "+data.menutime);
    $('#userbar').html(data.profile); // FETCHING USERS DATA FOR PROFILEBAR //
    $('#games').html(content).listview('refresh');
}
$.getJSON(dataUrl, dataCallback);

上面的警告给出:Date: undefined

我的JSON是这样的:

([{"menutime":"2013-04-28 15:00:50"},{"profile":"troels"}])

希望得到帮助。

提前感谢:-)

服务器为什么要添加() ?这使得它是无效的JSON,它被$.getJSON()拒绝。

看看浏览器中的JavaScript控制台。它应该有一个类似这样的错误:

SyntaxError: Unexpected token (
这是你自己的服务器代码吗?如果是这样,您应该修复它以生成有效的JSON。

如果你坚持使用这个无效的JSON格式,那么你应该使用$.get()$.ajax()代替$.getJSON(),并指定"text"格式:

$.get( dataUrl, dataCallback, 'text' );

现在回调函数将以纯文本的形式接收错误的JSON。所以在dataCallback的顶部,你可以删除多余的括号,并解析剩下的JSON数据:

var data = $.parseJSON( data.match( /^'((.*)')$/ )[1] );