gpt4 book ai didi

javascript - 使用分配的 ID 创建 JSON 数组

转载 作者:行者123 更新时间:2023-11-28 15:44:21 25 4
gpt4 key购买 nike

过去我已经用 JSON 做了相当多的工作,但我从来不需要编写自己的 JSON 对象。现在我的任务是这样做,但我在创建它时遇到了一些麻烦,以便在路上给我带来最少的麻烦。基本上,我想第一次就把事情做好。

我的 JSON 数组最终会变得更大,但出于这些目的,我将使其保持较小。

这是我目前所做的:

{
"ClassGroup": [
{
"id": "123",
"classname": "Class 1",
"isActive": "true",
"isExpanded": "false",
"students": [11, 22, 33, 44, 55],
"isSelected": [11, 22, 33, 44, 55]
},
{
"id": "456",
"classname": "Class 2",
"isActive": "false",
"isExpanded": "false",
"students": [66, 77, 88, 99],
"isSelected": [66, 88, 99]
}
],
"Student": [
{
"id": "11",
"first": "Student",
"last": "One",
"classes": [123],
"isSelected": [123]
},
{
"id": "22",
"first": "Student",
"last": "Two",
"classes": [123],
"isSelected": [123]
}
]
}

目前数组中缺少许多学生和类(class),因此请忽略您看到的任何缺少的 ID。

当这样做并运行 jQuery.getJSON 函数时,我最终得到一个像这样的数组:

data['ClassGroup'][0]['id'] will equal "123" data['ClassGroup'][1]['id'] will equal "456" data['Student'][0]['id'] will equal "11"

这样做的问题是,当给定一个类的 ID 时,我无法轻松找到该类。例如,如果我想查找类“456”的名称,我必须遍历数组,直到找到 X ,这样 data['ClassGroup'][X] ['id'] 将等于“456”,而不是仅仅执行 data['ClassGroup']['456']['classname']

我想做的是重写这个 JSON,使 $.getJSON 的结果与以下内容一致:

data['ClassGroup']['123']['classname'] = "Class 1" data['ClassGroup']['456']['classname'] = "Class 2" data['Student']['11']['last'] = "One"

我想你已经明白了。

我的处理方式正确吗?

最佳答案

重写您的 JSON,使其看起来像这样:

{
"ClassGroup": { /* <- Changed from [ to { */
"123": { /* <- The class id is now the array key */
"id": "123",
...
},
"456": {
"id": "456",
...
}
} /* <- Changed from ] to } */
}

关于javascript - 使用分配的 ID 创建 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843849/

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