javascript - 使用 javascript 循环动态 JSON 数据

标签 javascript json

我正在尝试显示 JSON 数据,但键值是动态的,它从一个 POST 请求到另一个请求不同,我的数据层次结构如图所示:

这是我正在运行的代码的一部分,任何人都可以建议我如何显示 JSON 数据,其中 redbox 中显示的 key 会针对每个 POST 请求而更改

$.ajax({
  type: "POST",
  url: "/",
  dataType:'json',
  data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree},
  success: function(data) {
    $('#img1').hide();
    var k = data[$("#host").val()].iscsi_lif.result.sectoutput.sect.length; 
    for(var i = 0; i < k; i++) {
                var obj = k[i];
                console.log(obj);
                var iscsi =  parseInt(data[$("#host").val()].iscsi_lif.result.sectoutput.sect.obj.avg_latency);
console.log(iscsi);
             }

运行上面的代码片段时,我收到以下错误消息:

data[$(....).val(...)].iscsi_lif.result.sectoutput.sect 未定义

最佳答案

您可以使用“for in”循环来迭代对象的键,而无需指定键名称。

for( var key in myObject){
  myValue = myObject[key];
  // key will be your dynamically created keyname
}

因此您的代码可能类似于以下内容:

...  
success: function(data) {
  $('#img1').hide();
  var obj = data[$("#host").val()].iscsi_lif.result.sectoutput.sect; 
  for(var key in obj) {
    if(obj.hasOwnProperty(key)){
      var iscsi = parseInt(obj[key].avg_latency);
      console.log(iscsi);
    }
  }
}

关于javascript - 使用 javascript 循环动态 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35082335/

相关文章:

javascript - 如何使用jquery更改动态内容的类名

java - 使用 jsonschema2pojo 转换可变长度值的枚举

javascript - 无法获取 Json-String 的属性

javascript - 解析嵌套 JSON 并插入带有值的列表项

javascript - 增加数组中元素的值

javascript - 使用 jQuery 设置 JSON 样式

javascript - SwfUpload: prevent_swf_caching 在除 IE 以外的其他浏览器中?

javascript - 将复选框值传递给 JavaScript

javascript - 如何在html代码中使用json文件

javascript - 将一组 JSON 对象从 Google 表格传递到 HTML 服务