Объедините три результата json в один json

У меня есть эти три json-файла:

Первый:

[
    {
        "amount": 100,
        "id": 1
    }
]

Секунда:

[
    {
        
        "new_id": 0,
        "id": 1,
        "date": 01/01/2023
    }
]

Третья:

[
    {
        
        "new_id": 0,
        "start_date": 01/01/2024
    }
]

Я хочу объединить эти три json-ответа вместе, идеальный результат должен быть следующим:

Final:

[
    {
        "amount": 100,
        "new_id": 0,
        "id": 1,
        "date": 01/01/2023
        "start_date": 01/01/2024

    }
]

Я пробовал метод обновления и обновления первого и второго с помощью dict(hashmap). Есть ли способ сделать это все вместе? в зависимости от двух полей "id" и "new_id"?

merged = {}

with open('File1.json') as f:
    for line in f:
        jsonified = json.loads(line)
        merged[jsonified['id']] = jsonified

with open('File2.json') as f:
    for line in f:
        jsonified = json.loads(line)
        merged[jsonified['id']].update(jsonified)

может быть так:

import json

res = {}
for file in ["1.json", "2.json", "3.json"]:
    with open(file) as f:
        res.update(json.load(f)[0])

print(res)

# {'amount': 100, 'id': 1, 'new_id': 0, 'date': '01/01/2023', 'start_date': '01/01/2024'}

Вернуться на верх