我有两个JSON文件 - 一个与2015-16的英超联赛数据和2016-17的其他数据有关。每个文件中的JSON数据如下(仅提取):
{
"name": "English Premier League 2015/16",
"rounds": [
{
"name": "Matchday 1",
"matches": [
{
"date": "2015-08-08",
"team1": {
"key": "manutd",
"name": "Manchester United",
"code": "MUN"
},
"team2": {
"key": "tottenham",
"name": "Tottenham Hotspur",
"code": "TOT"
},
"score1": 1,
"score2": 0
},
等等...很多名字,在圆形数组中匹配如此。
2016-17的数据与上述类似:
{
"name": "English Premier League 2016/17",
"rounds": [
{
"name": "Matchday 1",
"matches": [
{
"date": "2016-08-13",
"team1": {
"key": "hull",
"name": "Hull City",
"code": "HUL"
},
"team2": {
"key": "leicester",
"name": "Leicester City",
"code": "LEI"
},
"score1": 2,
"score2": 1
},
等等...很多名字,在圆形数组中匹配如此。
这两个是在两个单独的json文件中。我正在Angular 2中开发一个应用程序,并使用数据服务来获取这些数据。那部分是成功的。但是我需要使用ngFor在表中创建行,为此我要求这些数据像数组一样可迭代。
我试图将这两个json对象转换为数组,但无法成功。
1我初始化了一个空数组并尝试为每个对象执行array.push。那不起作用
arr=[];
if(this.data1516!=null && this.data1516!=undefined) {arr.push(this.data1516);}
if(this.data1617!=null && this.data1617!=undefined) {arr.push(this.data1617);}
2我试过Object。分配 -
this.obj=Object.assign({},this.data1516,this.data1617);
然后尝试将对象转换为数组,即使这不起作用
我希望最终的json单个文件成为这两个对象的数组,如下所示:
[{obj1},{obj2}]
答案 0 :(得分:1)
]
arr.push
这应该有效:
arr=[];
if(this.data1516!=null && this.data1516!=undefined) {
arr.push(this.data1516);
}
if(this.data1617!=null && this.data1617!=undefined) {
arr.push(this.data1617);
}
OR更短版本(ES6)
arr = [ ...this.data1516 , ...this.data1617 ];