JavaScript和jQuery在循环中解析JSON

Ali*_*ias 4 html javascript jquery json

很抱歉问这个问题,即使看了其他问题我也无法让它工作......

我在"json.php"中有一个JSON输出,例如:

    [
       {"serverid":"1","servername":"Server One"},
       {"serverid":"2","servername":"Server Two"}
    ]
Run Code Online (Sandbox Code Playgroud)

我有一个脚本,用于获取数据并将其解析为变量

var servers;
jQuery.get('json.php', function(data) {
     servers =    JSON.parse(data);
     jQuery('#servers').servers.servername
});
Run Code Online (Sandbox Code Playgroud)

我有一个div输出结果:

<div id="servers"></div>
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,我总会得到一些

"未捕获的TypeError:无法读取未定义的属性'servername'错误.

我也想看看结果,但我甚至无法打印出来.

再次抱歉这样的另一个问题

mat*_*mmo 12

你的意思不是这样吗?jQuery对象(它是对你的div的引用)一无所知servername.此外,您需要遍历项目数组以获取所有项目:

servers = $.parseJSON(data);

$.each(servers, function(index, value) {
    $("#servers").text($("#servers").text() + " " + value.servername);
});
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/H2RC2/1/


Alb*_*aro 5

您只需要错误消息.在jQuery('#servers')jQuery对象中包裹#servers股利.而这个对象没有诸如此类的属性servers.

相反,你可以使用:

    var servers = JSON.parse(data);
    var res = '';
    for(var i = 0; i<servers.length; i++){
        res = res + '<p>' + servers[i].servername +'</p>';
    }

    $('#servers').append(res);
Run Code Online (Sandbox Code Playgroud)