【发布时间】:2023-03-22 11:07:01
【问题描述】:
我正在尝试通过 JavaScript 中的 JSON 列表建立索引,但我在让它工作时遇到了很多麻烦。
我尝试通过每个 JSON 项的值进行索引,但它没有输出我想要的。我想我可以让它工作,但这将是一个额外不必要的循环级别。这是我的 JSON:https://pastebin.com/iYmaA4c5。如果您认为重新格式化 JSON 会更好,那么这也可能会有所帮助。
function output_json(data) {
var i, j, k;
for (i=0; i<Object.keys(data).length; i++) {
group_=Object.values(data)[i];
for (j=0; j<Object.keys(group_).length; j++) {
person=Object.values(group_)[j];
person_id=Object.keys(person)[0];
console.log(person_id);
for (k=0; k<Object.keys(person).length; k++) {
person_info=Object.values(person)[k][0];
console.log(person_info);
}
}
}
}
我希望它打印出 id,然后是每个 id 的名称、注册 1、注册 2、周和 half_term。目前打印如下:
HA09_000
{name:“Wyatt Feldt”,registration_1:“R”,registration_2:“R”,周:0,half_term:1}
但我希望它为每一个都这样打印:
HA09_000
怀亚特·费尔特
R
R
0
1
这是我想要实现的一些伪代码:
FOR GROUP IN DATA:
FOR PERSON IN GROUP:
PRINT(PERSON.ID)
FOR INFO IN PERSON:
PRINT(INFO)
谢谢。
编辑:这是我用来检索数据的函数:
$.getJSON("http://localhost:8000/data.json", function(data) {
output_json(data);
});
【问题讨论】:
-
如果你需要
Object.keys()那么它不是JSON而是一个对象-> What is the difference between JSON and Object Literal Notation? -
@Andreas 好的,谢谢,但这对我有什么帮助?
-
你不想学习一些可以让你以后的生活更轻松,或者可以纠正错误理解的东西(因为字符串和对象完全不同)吗?
-
@Andreas 当然是的,但是如果能以一种能帮助我更好地理解如何解决我的问题的方式学习它会很好。
-
你的 for 循环/函数上是否缺少右括号 }?
标签: javascript json