gpt4 book ai didi

javascript - 重构 JSON 数据

转载 作者:行者123 更新时间:2023-11-29 21:10:45 24 4
gpt4 key购买 nike

目前我有一个包含多个数据的json文件,存储如下:

{"name": ["Adelphi University"], "supp": ["Yes: E, WS"], "ed": ["\u00a0"], "online": ["$40"], "ea": ["12/1"], "mid": ["No"], "rd": ["Rolling"], "recs": ["Yes: CR"], "mail": ["$40"], "schoolr": ["Yes"]}

这一行应该代表一所大学(因此得名),“name”后面的变量,即“supp”、“online”等,是该学校的属性。我将如何重组此数据以使“名称”变量定义数据,而其他变量是“名称”父级的子代。我的数据应该是这样的:

{
"schools": {
"Adelphi University": {
"supp": "Yes: E, WS",
"ed": "\u00a0",
"online": "$40",
"ea": "12/1",
"mid": "No",
"rd": "Rolling",
"recs": "Yes: CR",
"mail": "$40",
"schoolr": "Yes",
},
"Dartmouth College": { ... },
"Harvard University": { ... }
}
}

我该怎么做?

最佳答案

您可以迭代键并测试 name,然后使用该名称构建一个对象并分配一个临时对象。否则评估值。

var array = [{ "name": ["Adelphi University"], "supp": ["Yes: E, WS"], "ed": ["\u00a0"], "online": ["$40"], "ea": ["12/1"], "mid": ["No"], "rd": ["Rolling"], "recs": ["Yes: CR"], "mail": ["$40"], "schoolr": ["Yes"] }, { "name": ["Dartmouth College"], "supp": ["Yes: E, WS"], "ed": ["\u00a0"], "online": ["$40"], "ea": ["12/1"], "mid": ["No"], "rd": ["Rolling"], "recs": ["Yes: CR"], "mail": ["$40"], "schoolr": ["Yes"] }],
schools = {},
result = { schools: schools };

array.forEach(function (a) {
var temp = {};
Object.keys(a).forEach(function (k) {
if (k === 'name') {
schools[a[k][0]] = temp;
return;
}
temp[k] = a[k][0];
});
});

console.log(JSON.stringify(result));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 重构 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42011597/

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