我想将基于行的 JSON 转换为基于列的 JSON。我收到基于行的形式的 JSON,并将用它进行一些可视化,这在基于列的形式中会更容易。
基于行的看起来像这样:
{
"0": {
"fname": "John",
"lname": "Miller",
"age": 50
},
"1": {
"fname": "Eve",
"lname": "Johnson",
"age": 40
}...
基于列的示例:
{
"fname": {
"0" : "John",
"1" : "Eve"
},
"lname": {
"0" : "Miller",
"1" : "Johnson"
},
"age": {
"0": 50,
"1" : 40
}...
有没有比循环遍历所有元素并完全重写 JSON 更有效的方法?
谢谢!
最佳答案
至少,您需要交换结果对象的键。
var data = { 0: { fname: "John", lname: "Miller", age: 50 }, 1: { fname: "Eve", lname: "Johnson", age: 40 } },
result = Object.keys(data).reduce(function (r, k) {
Object.keys(data[k]).forEach(function (l) {
r[l] = r[l] || {};
r[l][k] = data[k][l];
});
return r;
}, {});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 将基于行的 JSON 转换为基于列的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43843408/