jquery - 在 jQuery 中循环遍历 json
问题描述
几个小时以来,我一直用这个头撞墙,由于某种原因,我似乎无法到达我需要的地方。我敢肯定这很简单,我可以很高兴地用 python 来做这件事,而不是用 Javascript :(
我正在尝试使用 Ajax 从另一个页面循环访问一些 Json。我拼凑了一个关于 JSON 如何返回的快速模型。
我似乎能够获得密钥,但不知何故我无法获得字典列表中的实际值:
<script>
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"
}
]
}
for(var key in data) {
var value = data[key];
console.log(key)
}
</script>
有人能在这里指出我正确的方向吗?
为了给出上下文,这是从 Celery 中的 Redis 中提取的——因此最终目标是在 Flask 中创建一个提取字典值的表。
提前致谢
解决方案
如果您只想循环获取信息,您可以像这样使用 jquery 的 forEach 或 $.each 。
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>
推荐阅读
- node.js - 如何更新 nodejs 和 npm 版本?
- python - 如何在 GPU 上创建 Theano 共享变量?
- ios - 在 iOS Swift 中将 UIBezierPath 添加到 CAShapeLayer
- css - 如何阻止媒体查询过早触发基本样式?
- node.js - 通过 Child_Process 在 Electron 中安装 Homebrew 作为依赖项
- c# - 为开发环境设置 Azure 搜索
- python - 使用 Docker for windows 从 Python 脚本创建 docker 映像时无法获取包含数据的输出文件
- android - 我无法应用自定义脚本插件
- deployment - pycharm 版本控制和部署
- python - 烧瓶 g 对象是否有超时?