可以使用 Python 语言中的 json 和 difflib 模块实现这个功能。
先引入所需模块:
import json import difflib
接着,定义两个 JSON 对象:
json1 = '{"name": "Tom", "age": "20", "hobby": "football"}' json2 = '{"name": "Tom", "age": "21", "hobby": "basketball"}'
将两个 JSON 对象转换为 Python 字典类型:
dict1 = json.loads(json1) dict2 = json.loads(json2)
使用 difflib 模块的 Differ 类,比较两个字典对象:
result = difflib.Differ().compare( json.dumps(dict1, sort_keys=True).splitlines(), json.dumps(dict2, sort_keys=True).splitlines() )
遍历比较结果,找到不同的键和值:
for i in result: if i[0] in ['+', '-']: print(i)
输出结果:
即表示两个 JSON 对象在 "age" 和 "hobby" 两个键上的值不同。