解析JSON以获得密钥和值

时间:2018-01-28 11:42:40

标签: arrays json dictionary key-value

我正在将JSON字符串转换为javascript数组,目前我有这个:

{
    "table1": [
        {
            "EmpNo": "3103899",
            "attendanceStatus": "true"
        }
    ]
}

我现在需要做的是将其转换为一个数组,其值为EmpNo,值为attendanceStatus,因此它看起来像这样:

var attendances = {
    111: false,          
    123: true,
    456: false,
    789: true,
    321: true,
    654: false,
    222: true,
    987: false
};

我怎样才能做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:1)

假设您有以下JSON字符串:

{
  "table1": [
    {
      "EmpNo": "3103899",
      "attendanceStatus": true
    },
    {
      "EmpNo": "123",
      "attendanceStatus": false
    }
  ]
}

然后,您可以编写以下代码:

var json = JSON.parse('{"table1":[{"EmpNo":"3103899","attendanceStatus":true},{"EmpNo":"123","attendanceStatus":false}]}')

var array = []

json.table1.forEach(function(entry) {
  item = { [entry.EmpNo] : entry.attendanceStatus };
  array.push(item);
})

console.log(array)

这就是你应该在控制台中得到的东西:

[ { 3103899: true }, { 123: false } ]