你好我有以下JSON结构,我尝试在每个对象内部创建每个对象的数组,但是有一种方法可以转换它而不需要迭代每个元素并获取每个元素。 或者可能使用Javascript函数来获取对象内部的对象并转换为数组?
{
"ES": {
"130": {
"code": "A Coruсa",
"name": "A Coruña"
},
"131": {
"code": "Alava",
"name": "Alava"
},
"...": {
"code": "...",
"name": "..."
}
},
"CH": {
"104": {
"code": "AG",
"name": "Aargau"
},
"...": {
"code": "...",
"name": "..."
}
},
"...": {
"...": {
"code": "...",
"name": "..."
}
}
}
这就是我要找的:
[
{
"code": "A Coruсa",
"name": "A Coruña"
},
{
"code": "Alava",
"name": "Alava"
},
{
"code": "...",
"name": "..."
},
{
"code": "AG",
"name": "Aargau"
},
{
"code": "...",
"name": "..."
},
{
"code": "...",
"name": "..."
}
]
感谢您的帮助,我接受任何建议。
答案 0 :(得分:1)
您可以使用Object.keys()
,Array.prototype.reduce()
和Array.prototype.map()
来迭代属性和组合数组。
Panelist

答案 1 :(得分:0)
我创建了一个转换数据的小提琴。看看它
https://jsbin.com/suzice/edit?js,output
var data = {
"ES": {
"130": {
"code": "A Coruсa",
"name": "A Coruña"
},
"131": {
"code": "Alava",
"name": "Alava"
},
"...": {
"code": "...",
"name": "..."
}
},
"CH": {
"104": {
"code": "AG",
"name": "Aargau"
},
"...": {
"code": "...",
"name": "..."
}
}
};
var list = [];
Object.keys(data).forEach(function(key){
Object.keys(data[key]).forEach(function(sub_key){
list.push(data[key][sub_key]);
});
console.log(list);
});