我有两个json对象。两者都可以有共同的键,有些只出现在第一个对象中,而有些只出现在第二个对象中。 当我来到这两个物体时,物体的结构不应该改变。仅添加新级别的键,例如指定值所属的对象。甚至json对象的结构也代表了一个层次结构不固定的层次结构。
a = {"parent1" : { "childa1" : { "grandchilda11" : { "data": values},
"grandchilda12" :{"data" : values }
}
"data" : values
}
{ "childa2" : { "grandchilda21" : { "data": values},
"grandchilda22" :{"data" : values }
}
"data" : values
}
}
b = { "parent1" : { "childa1" : { "grandchilda11" : { "data": values},
"grandchilda12" :{"data" : values }
}
"data" : values
}
{ "childa2" : { "grandchilda21" : { "data": values},
"grandchilda22" :{"data" : values }
}
"data" : values
},
"parent2" : { "childb1" : { "grandchildb11" : { "data": values},
"grandchildb12" :{"data" : values }
}
"data" : values
}
{ "childb2" : { "grandchildb21" : { "data": values}
}
"data" : values
}
}
结果应该结合这种类型的json字符串。这里的数据级别直接包含值,而在结果中,它应该像它所属的对象一样充当键,然后是值。
"data" : { "a" : values , "b":values}
答案 0 :(得分:0)
我认为这可能是您正在寻找的。 p>
如果您有数据词典DATA
1.09725999832153
和a
,可以使用b
调用以下功能,将两者合并,就像您所说的那样。 它确实依赖于这两个字典与它们具有相同结构的假设。
merge(a, b)
答案 1 :(得分:0)
尝试一下:
def merge(obj1, obj2):
for key in obj2:
obj1[key] = obj2[key]
return obj1