Объедините три результата 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'}