0
我有一個格式變量的JSON,類似於字符串格式,我希望能夠使用由實際值替換的變量加載它。使用字典格式化JSON
例如,如果JSON是:
[
{
"role": "President",
"name": "{first_name}",
"age": "{first_age}"
},
{
"role": "Vice President",
"name": "{second_name}",
"age": "{second_age}"
}
]
而且我想和格式化詞典:
{"first_name": "Bob", "first_age": "50", "second_name": "Bill", "second_age": "35"}
我想獲得:
[
{
"role": "President",
"name": "Bob",
"age": "50"
},
{
"role": "Vice President",
"name": "Bill",
"age": "35"
}
]
我嘗試將JSON轉換爲字符串,使用格式,然後將其重新轉換爲字典列表:
from ast import literal_eval
literal_eval(str(raw_json).format(**json_params))
但字典的花括號混淆了格式函數,並給我一個KeyError異常。我想我可以用雙花括號來代替每一對沒有變量名的花括號,但是這肯定會出錯,也不會是Pythonic。
什麼是最優雅的方式來解決這個問題?
工程很好,幾行 - 非常感謝! – GabeL