Javascript 如何在angular js中将JSON嵌套字典转换为JSON嵌套数组?
我想创建一个表单,从现有的JSON中弹出字段值。 我用has字典嵌套了JSON,但我希望它们在数组中 如何编写递归函数将字典的键放入嵌套数组 这是我的JSON代码:Javascript 如何在angular js中将JSON嵌套字典转换为JSON嵌套数组?,javascript,arrays,angular,dictionary,nested,Javascript,Arrays,Angular,Dictionary,Nested,我想创建一个表单,从现有的JSON中弹出字段值。 我用has字典嵌套了JSON,但我希望它们在数组中 如何编写递归函数将字典的键放入嵌套数组 这是我的JSON代码: { "name": "Hello", "colors": { "primary": [ 255, 255, 255, 255 ], "secondary": [ 255, 255, 255, 255 ] }, "d
{
"name": "Hello",
"colors": {
"primary": [
255,
255,
255,
255
],
"secondary": [
255,
255,
255,
255
]
},
"dimensions": {
"9:16": {
"box": {
"sr_no": 1,
"computer": {
"asset_1": {
"type": "video",
"out": {
"layer": {
"opac": 1,
"effect": "None",
"details": {
"color": "tertiary",
"type": "noidea"
}
}
}
}
}
}
}
}
}
我创建了一个递归函数“GetAllDimensions”,用于将嵌套对象转换为对象数组
var数据={
“姓名”:“你好”,
“颜色”:{
“主要”:[
255,
255,
255,
255
],
“中学”:[
255,
255,
255,
255
]
},
“尺寸”:{
"9:16": {
“盒子”:{
"警务处编号:1,,
“计算机”:{
“资产1”:{
“类型”:“视频”,
“外出”:{
“层”:{
“opac”:1,
“效果”:“无”,
“详情”:{
“颜色”:“第三级”,
“类型”:“noidea”
}
}
}
}
}
}
}
}
};
函数GetAllDimensions(对象){
for(对象中的变量项){
var itemValue=对象[项目];
if(typeof(itemValue)==“object”)
获取所有维度(itemValue);
否则{
result.push({});
结果[result.length-1][item]=itemValue;
}
}
返回结果;
}
var结果=[];
log(getAllDimensions(data.dimensions))代码>到目前为止您尝试了什么?预期的结果是什么?请注意,Stackoverflow不是一个免费的代码编写服务。你是说字段名“dimensions”吗?@kchomski我使用的是angular,所以ngFor不支持字典。现在,如果我使用管道获取keyValuePair,它将创建视图并添加字段值,但是如果我在JSON中添加新字典,它不会添加视图。这是因为,ngFor在管道返回的数组上循环,而不是在原始JSON上循环。所以它不会动态更新视图或添加HTML。@VindhyachalKumar是的,维度有很多选项。我刚才提到“16:9”。实际的JSON非常长