为什么在制作json对象时创建数组新数组?

时间:2014-05-13 06:02:58

标签: javascript jquery

我在观看json数组后制作一个json数组。我遇到一个问题就是在对象内部创建数组。但是我需要在父数组中添加数组 我得到了这个结果

[
  {
    "a": {
      "commandList": [],
      "testCaseList": []
    },
    "testCaseList": []
  },
  {
    "b": {
      "commandList": [],
      "testCaseList": []
    },
    "testCaseList": [
      {
        "b-a-1": {
          "commandList": [],
          "testCaseList": []
        },
        "testCaseList": []
      },
      {
        "b-b-2": {
          "commandList": [],
          "testCaseList": []
        },
        "testCaseList": []
      }
    ]
  },
  {
    "c-1": {
      "commandList": [],
      "testCaseList": []
    },
    "testCaseList": []
  }
]

但我需要把它拿出来

[
  {
    "a": {
      "commandList": [

      ],
      "testCaseList": [

      ]
    },

  },
  {
    "b": {
      "commandList": [

      ],
          "testCaseList": [
      {
        "b-a-1": {
          "commandList": [

          ],
          "testCaseList": [

          ]
        },

      },
      {
        "b-b-2": {
          "commandList": [

          ],
          "testCaseList": [

          ]
        },

      }
    ]
    },

  },
  {
    "c-1": {
      "commandList": [

      ],
      "testCaseList": [

      ]
    },

  }
]

我尝试更改此行

 item.testCaseList = inputItem.children.map(mapItem);

改变

var obj= JSON.parse(sessionStorage.getItem(inputItem.id)
obj.testCaseList=inputItem.children.map(mapItem)

然后我收到错误

这是我的小提琴 http://jsfiddle.net/tJ7Kq/2/

1 个答案:

答案 0 :(得分:1)

在您尝试更改的行中,使用

item[inputItem.id].testCaseList

而不是

item.testCaseList

更新了Fiddle

如果数据太乱,请尝试对数据进行可视化。 http://jsonblob.com/