First and foremost, the example JSONs are not valid JSONs because keys in JSON has to be enclosed in "
.
However, if you do have two valid JSON strings, you could parse them into a dictionary, then compare the structure of the dictionary using this function:
def equal_dict_structure(dict1, dict2):
# If one of them, or neither are dictionaries, return False
if type(dict1) is not dict or type(dict2) is not dict:
return False
dict1_keys = dict1.keys()
dict2_keys = dict2.keys()
if len(dict1_keys) != len(dict2_keys):
# If they don't have the same amount of keys, they're not the same
return False
for key in dict1_keys:
if key not in dict2_keys:
return False
dict1_value = dict1[key]
dict2_value = dict2[key]
if type(dict1_value) is dict:
# If inner dictionary found, assert equality within inner dictionary
if not equal_dict_structure(dict1_value, dict2_value):
return False
# No inequalities found
return True
1
solved JSON Structural Difference