Home > database >  DeepDiff on Nested JSON
DeepDiff on Nested JSON

Time:10-06

I would like to find the difference between two JSON but, when I try to use the DeepDiff method it finds nothing.

from deepdiff import DeepDiff

item1 = {
    '__PythonResult__Modules': {
        'b': {
            'c': 
            ['foo']
        }
    }
}
item2 = {
    "__PythonResult__Modules" : {
        "global" : {
            "views" : {
                "from_python" :  {
                    "QDjl" : ["llll"]
                }
            }

        }
    }
}
DeepDiff(item1, item2)

I use Python 3.8 and DeepDiff 5.5.0. Do you have an idea ?

Thank you,

CodePudding user response:

By default DeepDiff ignores private variables. These are field names that start with double underscore.

You can test this by adding a letter to the start of the underscore.

Anyway to preform comparison, simply set the parameter ignore_private_variables to False

That is:

print(DeepDiff(item1, item2, ignore_private_variables=False))

Output:

{'dictionary_item_added': [root['__PythonResult__Modules']['global']], 'dictionary_item_removed': [root['__PythonResult__Modules']['b']]}
  • Related