嵌套的 DeepDiff JSON
DeepDiff on Nested JSON
我想找出两者之间的区别 JSON 但是,当我尝试使用 DeepDiff 方法时,它一无所获。
from deepdiff import DeepDiff
item1 = {
'__PythonResult__Modules': {
'b': {
'c':
['foo']
}
}
}
item2 = {
"__PythonResult__Modules" : {
"global" : {
"views" : {
"from_python" : {
"QDjl" : ["llll"]
}
}
}
}
}
DeepDiff(item1, item2)
我使用 Python 3.8 和 DeepDiff 5.5.0。
你有什么想法吗?
谢谢,
默认情况下,DeepDiff 会忽略私有变量。这些是以双下划线开头的字段名称。
您可以通过在下划线的开头添加一个字母来进行测试。
无论如何要进行比较,只需将参数 ignore_private_variables
设置为 False
即:
print(DeepDiff(item1, item2, ignore_private_variables=False))
输出:
{'dictionary_item_added': [root['__PythonResult__Modules']['global']], 'dictionary_item_removed': [root['__PythonResult__Modules']['b']]}
我想找出两者之间的区别 JSON 但是,当我尝试使用 DeepDiff 方法时,它一无所获。
from deepdiff import DeepDiff
item1 = {
'__PythonResult__Modules': {
'b': {
'c':
['foo']
}
}
}
item2 = {
"__PythonResult__Modules" : {
"global" : {
"views" : {
"from_python" : {
"QDjl" : ["llll"]
}
}
}
}
}
DeepDiff(item1, item2)
我使用 Python 3.8 和 DeepDiff 5.5.0。 你有什么想法吗?
谢谢,
默认情况下,DeepDiff 会忽略私有变量。这些是以双下划线开头的字段名称。
您可以通过在下划线的开头添加一个字母来进行测试。
无论如何要进行比较,只需将参数 ignore_private_variables
设置为 False
即:
print(DeepDiff(item1, item2, ignore_private_variables=False))
输出:
{'dictionary_item_added': [root['__PythonResult__Modules']['global']], 'dictionary_item_removed': [root['__PythonResult__Modules']['b']]}