解析列表列表并转换为JSON对象:

我正在尝试将列表列表解析为 json 对象。我需要以下输出,但我的逻辑无法正确获取实际输出,而是将键/值附加到数组中

输入(数组):

var arraysample = 
    [
       [
          ["firstName", "Vasanth"],
          ["lastName", "Raja"], 
          ["age", 24], 
          ["role", "JSWizard"]
       ],
       [
          ["firstName", "Sri"], 
          ["lastName", "Devi"], 
          ["age", 28], 
          ["role", "Coder"]
       ]
    ];

预期输出

[
   {firstName: “Vasanth”, lastName: “Raja”, age: 24, role: “JSWizard”},
   {firstName: “Sri”, lastName: “Devi”, age: 28, role: “Coder”}
]

我的输出:

[
   [ 'firstName', 'Vasanth' ],
   [ 'lastName', 'Raja' ],
   [ 'age', 24 ],
   [ 'role', 'JSWizard' ],
   firstName: 'Vasanth',
   lastName: 'Raja',
   age: 24,
   role: 'JSWizard'
],
[
   [ 'firstName', 'Sri' ],
   [ 'lastName', 'Devi' ],
   [ 'age', 28 ],
   [ 'role', 'Coder' ],
   firstName: 'Sri',
   lastName: 'Devi',
   age: 28,
   role: 'Coder'
]
]

我的逻辑:

for(var i=0;i<arraysample.length;i++)
{
   for(var j=0;j<arraysample[i].length;j++)
   {
      arraysample[i][arraysample[i][j][0]]=arraysample[i][j][1];
   }
}

回答

你可以用Object.fromEntries()Array.prototype.map()

var arraysample = [
  [
    ["firstName", "Vasanth"],
    ["lastName", "Raja"],
    ["age", 24],
    ["role", "JSWizard"]
  ],
  [
    ["firstName", "Sri"],
    ["lastName", "Devi"],
    ["age", 28],
    ["role", "Coder"]
  ]
];

var result = arraysample.map(Object.fromEntries);

console.log(result);


以上是解析列表列表并转换为JSON对象:的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>