Используя python 3.7, у меня есть словарь, который может иметь значения в виде строк, словарей или списка строк или списка словарей. Вот пример:
{
"about_me": {
"age": "{age}"
},
"name": {
"full_name": {
"first": "{first_name}",
"last": "{last_name}"
}
},
"addresses": [{
"home": "{home_address}"
}, {
"work": "{work_address}"
}],
"phones": [
"{home_phone}",
"{work_phone}"
]
}
Значения в JSON выглядят следующим образом:
{
"{age}": 25,
"{first_name}": "Robert",
"{last_name}": "Miles",
"{home_address}": "123 Main St, CA 90111",
"{work_address}": "456 Wall St, CA 00871",
"{home_phone}": "18008008001",
"{work_phone}": "18008018011"
}
Здесь ожидается JSON:
{
"about_me": {
"age": "25"
},
"name": {
"full_name": {
"first": "Robert",
"last": "Miles"
}
},
"addresses": [{
"home": "123 Main St, CA 90111"
}, {
"work": "456 Wall St, CA 00871"
}],
"phones": [
"18008008001",
"18008018011"
]
}
Пример: все, что я пытаюсь сделать, это ввести значения рекурсивно в словарь about_me. Пример ниже:
person = {
'first':'Robert',
'last': 'Miles',
'age':25
}
print('{first} {last} is {age} years old'.format(**person))
> Robert Miles is 25 years old
То, что я пробовал до сих пор, хорошо для строк, словарей и списка словарей. Он распадается на словарь словарей (xn уровней).