在 python 中合并 JSON 文件



我有 2 个字典,如果 1 个键 ('ID( 匹配,我需要将特定值组合到一个新字典中。由于它们是嵌套的并且处于不同的级别,即使玩了几个小时并观看了教程,我也不知道如何......

以下是 2 个 JSON 的快照

第一个 JSON

{
"product": [
{
"books": [
{
"release": "2017-07-30",
"status": "H",
"Title-EN": "EN-TITLE-NAME",
"Title-DE": "DE-TITLE-NAME",
"restriction": 1,
"id": 467541241,
"onstore": 1
},

第二个 JSON

{
"products": [
{
"books": [
{
"periods": [
{
"publID": 45547514,
"number": 0,
"price": {
"en": 12,
"de": 15
}
}
],
"id": 467541241
},

我正在尝试像这样匹配和输出这些,基本上只是在 ID 匹配的地方添加两个价格键:

{
"product": [
{
"books": [
{
"release": "2017-07-30",
"status": "H",
"Title-EN": "EN-TITLE-NAME",
"Title-DE": "DE-TITLE-NAME",
"restriction": 1,
"id": 467541241,
"onstore": 1
"price-en": 12,
"price-de": 15,
},

任何提示我如何完成此操作都会很棒!

谢谢

我认为以下内容可能会有所帮助。嵌套的两个 for 循环是检查第一个 json 中每本书与第二个 json 中所有书籍的 id 匹配。无论如何,您应该从下面的代码中了解如何访问字典中的嵌套数据。我假设你已经阅读了 python 中的 jsons。

json_1 = <your first json>
json_2 = <your second json>
for book1 in json_1['product']['books']:
for book2 in json_2['product']['books']:
if book1['id'] == book2['id']:
json_1['product']['books']['price-en'] = book2['periods'][0]['price']['en']
json_1['product']['books']['price-de'] = book2['periods'][0]['price']['de']

最新更新