python新手:
json1.json文件
{
"key1": {
"s11": 1,
"s12": 2,
"s13": "abc"
},
"key2": {
"s21": [1, 2, 3, 4],
"s22": {
"s221": {
"s2211": "abc"
}
}
},
"key3": "name1"
}
json2.json文件
{
"key1": {
"p12": 2,
"p13": "abc",
"s11": 1
},
"key2": {
"ps22": {
"ps221": {
"ps2211": "abc"
}
},
"ps21": ["1", "2", "3", "4"],
"ps23" : "abc",
"ps24":1,
"s21": [1,2,3,4]
}
}
我试图比较两个json对象名:json1.json和json2.json,并列出对象名之间的差异
例如,列出以下差异
1json1中存在的json2中缺少key3-->;使用下面的代码获取此项
2键2.s22更改为键2.ps22,键1.s12更改为键1.p12
三。不会干扰key2.s22.s221.s2211与key2.ps22.ps2211.ps2211不同的key2.s22.s2211,因为它们希望捕获初始层次结构差异
有人能帮我用适当的方法或命令来捕捉这些差异吗?你知道吗
我可以用下面的代码得到对象名的不同。你知道吗
d1=json.load(open("json1.json"))
d2=json.load(open("json2.json"))
s1=set(d1.keys()) - set(d2.keys())
print(s1)
o/p->;{'key3'}
但我的要求是在下一级层次结构中获得差异,即
键2.s22更改为键2.ps22
键2.s21更改为键2.ps21
输出为
相关问题 更多 >
编程相关推荐