python - 如何比较两个 JSON 文件并在 python 中形成单个 JSON 文件
问题描述
将 file1.json 和 file2.json 与 id 值进行比较。
如果两个 id 值都匹配,则将两个对象组合为结果 JSON 对象并将其存储在最终 JSON 中。
第一个 JSON 文件(file1.json):
file1 = [{
"id": 1234,
"appname": "e-commerence",
"usage": 24,
"availablity": "1 day"
},{
"id": 5678,
"appname": "Hospital",
"usage": 40,
"availablity": "30 days"
}]
第二个 JSON (file2.json):
file2 = [{
"id": 1234,
"language": "python",
"place": "singapore",
"ENV": "Testing"
}, {
"id": 5678,
"language": "Java",
"place": "Dubai",
"ENV": "DeV"
}]
预期的最终 JSON (final.json):
final = [{
"id": 1234,
"appname": "e-commerence",
"usage": 24,
"availablity": "1 day",
"language": "python",
"place": "singapore",
"ENV": "Testing"
}, {
"id": 5678,
"appname": "Hospital",
"usage": 40,
"availablity": "30 days",
"language": "Java",
"place": "Dubai",
"ENV": "DeV"
}]
解决方案
正确的方法是对 JSON 数据进行解码,然后比较它是否给出了您期望的结果:
a = json.load("file-a")
b = json.load("file-b")
if a == b:
print("file-a and file-b contain the same JSON data")
如果您关心的是存储在 JSON 文件中的数据,那么这是检查它的正确方法。
另一方面,如果您不关心数据,但您想检测空格、空行或其他对 JSON 数据没有影响的更改,则无需关心这是 JSON数据。只需将其视为文本,并使用 difflib 库。
推荐阅读
- django - 如何使用每个单选选项将选项字段呈现到模板中
- spring-mvc - JSP页面从Controller返回时加载数据失败
- reactjs - 如何保护 API access_token (React, Laravel)
- java - 发送重定向不适用于来自 linux 应用服务器的外部 URL,但它适用于本地系统
- reactjs - 有没有办法在材料表的标题上使用自定义组件?(固定的)
- c# - 我的对话框不等待 Bot Framework v4 中的用户响应
- windows - 在 Windows 终端预览中运行 Clink
- electron - 在电子应用程序中实现延迟深度链接
- javascript - 在 javascript 中动态操作数组的索引,就像我们对对象执行此操作一样
- javascript - 如何在退出当前 Tizen 应用程序时启动 Pervious Tizen 应用程序?