Объединить объекты json, присутствующие под повторяющимися ключамиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Объединить объекты json, присутствующие под повторяющимися ключами

Сообщение Anonymous »

У меня есть такой файл json:

Код: Выделить всё

{
"parent1": {
"child1": "bob"
},
"parent1": {
"child2": "tom"
},
"parent2": {
"child1": "jon"
}
}
Я хочу объединить значения, присутствующие в повторяющихся ключах верхнего уровня. Таким образом, ожидаемый результат должен быть следующим:

Код: Выделить всё

{
"parent1": {
"child1": "bob",
"child2": "tom"
},
"parent2": {
"child1": "jon"
}
}
В настоящее время я использую следующий код для проверки повторяющихся ключей:

Код: Выделить всё

import json

def check_duplicates(pairs):
d = {}
for key, val in pairs:
if key in d:
raise ValueError(f"Duplicate key(s) found: {key}")
else:
d[key] = val
return d

filename = "test.json"
with open(filename, "r") as f:
try:
data = json.load(f, object_pairs_hook=check_duplicates)
except ValueError as err:
print(f"{filename}: Failed to decode: {err}")
Есть идеи, как их объединить?


Подробнее здесь: https://stackoverflow.com/questions/786 ... icate-keys
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»