我有一些传入的 JSON,其中仅包含嵌套映射(无数组),例如,
{
"name1": {
"name2": "name3",
"name4": {
"name5": "name6"
}
},
"name7": "name8"
}
请注意,此处的键和值不遵循任何特定模式。
我想要的是,给定一个代表树根的对象,生成一个代表第一层子对象的新对象列表,每个对象都是一个新的 JSON 对象。
我有一些传入的 JSON,其中仅包含嵌套映射(无数组),例如,
{
"name1": {
"name2": "name3",
"name4": {
"name5": "name6"
}
},
"name7": "name8"
}
请注意,此处的键和值不遵循任何特定模式。
我想要的是,给定一个代表树根的对象,生成一个代表第一层子对象的新对象列表,每个对象都是一个新的 JSON 对象。
就像是
var obj = {
"name1": {"name2": "name3", "name4": {"name5": "name6"}},
"name7": "name8"
}
var result = [], tmp;
for(var key in obj){
if(obj.hasOwnProperty(key)){
tmp = {};
tmp[key] = obj[key];
result.push(tmp)
}
}
console.log(result)
演示:小提琴
function ent(map) {
var entries = [];
for (var key in map)
entries.push({
key: key,
value: map[key]
});
return entries;
}
ent({
"name1": {"name2": "name3", "name4": {"name5": "name6"}},
"name7": "name8"
})