gpt4 book ai didi

javascript - 通过 JSON 数组建立索引

转载 作者:行者123 更新时间:2023-12-01 01:20:34 24 4
gpt4 key购买 nike

我正在尝试通过 JavaScript 中的 JSON 列表进行索引,但在使其正常工作时遇到了很多麻烦。

我尝试过对每个 JSON 项的值进行索引,但它没有输出我想要的内容。我想我可以让它工作,但这会带来额外不必要的 for 循环级别。这是我的 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", week: 0, half_term: 1}

但我希望它对每一个都像这样打印:

HA09_000

Wyatt Feldt

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);
});

最佳答案

两个有用的想法:(1) 对象:如果有一天这将成为一个真正的系统,并且来自服务的数据代表人群,那么代码也应该这么说。作为示例,我添加了一个简单的 Person 对象,该对象知道如何从平面表示构建自身,并知道如何在控制台上呈现自身。 (2) JS 对象中键的顺序未确定。要从特定顺序的键中获取值,必须指定顺序。 person print() 方法使用数组来执行此操作。

在此处查看它,在数据的子集上运行...

$.getJSON("http://localhost:8000/data.json", function(data) {
print_items(data);
});

class Person {
constructor(data) {
this.id = Object.keys(data)[0];
this.state = data[this.id][0];
}
print() {
console.log(this.id);
let displayKeys = ['name', 'registration_1', 'registration_2', 'week', 'half_term'];
displayKeys.forEach(key => console.log(this.state[key]));
}
asTableRow() {
let displayKeys = ['name', 'registration_1', 'registration_2', 'week', 'half_term'];
let tds = displayKeys.map(key => `<td>${this.state[key]}</td>`);
return `<tr>${tds}</tr>`;
}
}

function print_items(data) {
Object.keys(data).forEach(groupKey => {
let group = data[groupKey];
Object.keys(group).forEach(personKey => {
let person = new Person(group[personKey]);
person.print();
});
});
}

关于javascript - 通过 JSON 数组建立索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54268671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com