代码语言:javascript复制给定任意JSON数据,请实现方法提取数据字典,即将树状多级字段压缩为一级字段(xx.yy.zz...)并提取其类型。 要求: 1.可上网查资料,但不要直接粘贴。(查也白查) 2.代码结构清晰,执行结果正确
const testData1 = {
a:1,
b:{
c:"test",
d:{
userName:"zhangpeiyue"
}
},
e:{
f:12,
g:13,
h:{
m:5
}
}
}
// 期望结果:
{
a: 1,
'b.c': 'test',
'b.d.userName': 'zhangpeiyue',
'e.f': 12,
'e.g': 13,
'e.h.m': 5
}
参考答案:
代码语言:javascript复制function json_dict(obj){
const obj2 = {};
for(let key in obj){
if(obj[key].constructor === Object){
for(let key2 in json_dict(obj[key])){
obj2[key "." key2] = obj[key "." key2] = obj[key][key2]
}
}else{
obj2[key] = obj[key];
}
}
return obj2;
}