首页 > 解决方案 > 如何将此 json 对象转换为数组?

问题描述

我有这个 json,我想将其转换为数组。

{  
    "match1": {
      "team1": "2",
      "team2": "0"
    },
    "match2": {
      "team1": "3",
      "team2": "1"
    }  
}

到目前为止,在搜索和寻找类似问题之后,我想出了这个

var data = {
  "match1": {
    "team1": "2",
    "team2": "0"
  },
  "match2": {
    "team1": "3",
    "team2": "1"
  }
}

const array = Object.values(data.match1).map((key) => [key, data[key]]);

console.log(array);

// outputs 
//[2, , 0, ]

它看起来不错,但需要我为每个“匹配”属性编写,并且我需要一种将它们一起输出的方法,因为匹配属性可能很多,例如 match3、match4 等也不知道为什么要使用双逗号?

所以我想要的预期输出是

[[2,0], [3,1]];

怎么做?

标签: javascriptarraysobject

解决方案


var data = {  
    "match1": {
      "team1": "2",
      "team2": "0"
    },
    "match2": {
      "team1": "3",
      "team2": "1"
    }  
}

var result = Object.keys(data).map(key => Object.values(data[key]))

console.log(result)

如果你想将值作为数字

var result = Object.keys(data).map(key => Object.values(data[key]).map(string  => parseInt(string)))

推荐阅读