0

我有一个格式的 JSON 对象:

{
    "z061": {
        "status": "restored",
        "time": 135
    },
    "z039": {
        "status": "restored",
        "time": 139
    }, ...
}

其中有 64 个区域,编号为 z001 到 z064。

Javascript 中根据 z001 到 z015 的“状态”填充表格的最佳方法是什么?这是我当前仅评估 z003 区域的代码:

      setInterval(function() {
        $.getJSON("http://rackserver.local:8080",function(data) {
          var temp = data.z003.status;
          if (temp != "restored")
            $("#securityTable tr:eq(3)").removeClass("error").addClass("success");
          else
            $("#securityTable tr:eq(3)").removeClass("success").addClass("error");
          });
        }, 1500);
4

3 回答 3

1

您可以使用点运算符或索引器运算符访问对象,此任务适用于索引器。

for (var i = 1; i <=15; i++){
    // hardcoded the check to make it easier.
    if (i >= 10) 
        var temp = data["z0" + i].status;
    else
        var temp = data["z00" + i].status;
}
于 2013-01-25T02:24:21.113 回答
0

这是我想出的代码。

setInterval(function() {
  $.getJSON("http://rackserver.local:8080",function(data) {
    var i = 1, j;
    for (; i <= 64; i += 1) {
      j = 'z';
      if (i < 10)  j += '0';
      if (i < 100) j += '0';
      if (data[j + i].status !== "restored")
        $("#securityTable tr:eq(" + i + ")").removeClass("error").addClass("success");
      else
        $("#securityTable tr:eq(" + i + ")").removeClass("success").addClass("error");
    }
  }, 1500);

希望这可以帮助。

于 2013-01-25T03:05:48.913 回答
0
 $.getJSON("http://rackserver.local:8080",function(data) {

$.each( data, function( key, value ) {
  if (data[key].status != "restored") {
//do your stuff
} else {
//do more stuff
}
});
于 2013-01-25T02:35:55.020 回答