将json对象转换为数组字段

时间:2017-11-24 15:04:41

标签: arrays json angular typescript

我想用具有此形式的对象转换对象列表

{
    "idActivite": 1,
    "nomActivite": "Accueil des participants autour d’un café viennoiseries",
    "descriptionActivite": "",
    "lieuActivite": "",
    "typeActivite": "",
    "horaireDebActivite": 1512028800,
    "horaireFinActivite": 1512059388,
    "horaireDebSession": 1512030600,
    "horaireFinSession": 1512318588,
    "nomSession": "",
    "isInSession": false
}

这样的人:

[
    "idActivite": 1,
    "nomActivite": "Accueil des participants autour d’un café viennoiseries",
    "descriptionActivite": "",
    "lieuActivite": "",
    "typeActivite": "",
    "horaireDebActivite": 1512028800,
    "horaireFinActivite": 1512059388,
    "horaireDebSession": 1512030600,
    "horaireFinSession": 1512318588,
    "nomSession": "",
    "isInSession": false
]

使用类型脚本2.5

2 个答案:

答案 0 :(得分:1)

两者在理论上仍然是对象,这不是正确的方法!数组只是带有数字索引的元素列表,您给出的示例使用字符串进行索引,因此仍然是根据JSON规范的对象。如果你遇到的问题是迭代它,请使用:

for(var key in array){
  console.log(array[key]);
}

答案 1 :(得分:0)

假设你想要一个像[{key,value}]

这样的数组
let x = { a: 1, b: 2 }
let y = []

// Note the 'in' keyword instead of 'of'
for (const key in x) {
    y.push({ key: key, value: x[key] })
}

// Will print [ { key: 'a', value: 1 }, { key: 'b', value: 2 } ]
console.log(y)

请注意,此解决方案与数组的大小呈线性关系。