在jQuery中循环遍历JSON

时间:2019-04-29 15:08:54

标签: jquery json loops

我已经用这个头撞墙了几个小时,由于某种原因,我似乎无法到达需要的地方。我敢肯定这很简单,我可以很高兴地使用python来做到这一点,而不是使用Javascript:(

我正在尝试使用Ajax在另一个页面中循环一些Json。我对JSON的返回方式进行了简单的介绍。

我似乎能够获取密钥,但是以某种方式我无法在字典列表中获取实际值:

[ERROR] C:\projects\apache\oak\trunk\oak-commons\src\main\java\org\apache\jackrabbit\oak\commons\package-info.java:17: error: unknown tag: Version
[ERROR] @Version("1.3.0")
[ERROR] ^

有人可以在这里向我指出正确的方向吗?

为了提供上下文,这是从Celery中的Redis中提取的-因此最终目标是在Flask中创建一个表,其中包含提取的字典值。

预先感谢

1 个答案:

答案 0 :(得分:0)

如果您只想循环获取信息,则可以使用forEach或$ .each这样的jquery。

data.test.forEach((element) => {
    console.log(element.cpu_count);
});

$.each(data.test, function(index, item){
   console.log(item.vm);
});

您可以使用map函数来循环您的数组对象并转换为另一个对象。

data.test.map(c=> { 
  console.log(c.cpu_count)
  console.log(c.memory_size_MiB)
  console.log(c.power_state)
  console.log(c.vm)
});

var data = {
    "test": [
                {
                    "cpu_count": 4,
                    "memory_size_MiB": 6144,
                    "power_state": "POWERED_ON",
                    "vm": "vm-1173"
                },
                {
                    "cpu_count": 8,
                    "memory_size_MiB": 2048,
                    "power_state": "POWERED_ON",
                    "vm": "vm-1173"
                }
    ]
}
data.test.forEach((element) => {
    console.log(element.cpu_count);
});

$.each(data.test, function(index, item){
   console.log(item.vm);
});

data.test.map(c=> { 
console.log(c.cpu_count)
console.log(c.memory_size_MiB)
console.log(c.power_state)
console.log(c.vm)
});

/*
for(var key in data) {
  var value = data[key];
  console.log(key)

}
*/
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>