首页 > 解决方案 > 如何将单个 JSON 对象拆分为一个 JSON 嵌套数组?

问题描述

我有如下所示的 JSON,如何使用 JavaScript 将其转换为一个嵌套的 JSON 数组?

{
  "Class": [
    {
      "StudentName": [
        "Ash",
        "Win"
      ],
      "Rank": [
        "1",
        "2"
      ],
      "ID": [
        "001",
        "002"
      ]
    }
  ]
}

如何将其拆分为一个 JSON 嵌套数组:

{
  "Class": [
    {
      "StudentName":"Ash",
      "Rank":"1",
      "ID":"001"
    },
    {
      "StudentName":"Win",
      "Rank":"2",
      "ID":"002"
    }
  ]
}

标签: javascriptjson

解决方案


没有魔法,只是 for 循环:

const sourceObj = {
  "Class": [
    {
      "StudentName": [
        "Ash",
        "Win"
      ],
      "Rank": [
        "1",
        "2"
      ],
      "ID": [
        "001",
        "002"
      ]
    }
  ]
} 

const studentData = sourceObj.Class[0]    
const length = studentData["StudentName"].length

const targetObj = {
  Class: [] 
}
for (i = 0; i < length; i++) {
  targetObj.Class.push({
    StudentName: null // Do a bare minimum yourself
  })
} 

console.log(targetObj)

推荐阅读