AL_*_*L_1 1 python formatting json dictionary dynamic
我有一个 JSON 文件,我将其转换为具有类似内容的 Dict
{
"a": "1",
"b": "2",
"c": "3"
}
Run Code Online (Sandbox Code Playgroud)
我想根据那个 JSON 格式化这个字符串
"Blah {a} Blah Blah {b} {c}"
Run Code Online (Sandbox Code Playgroud)
输出
"Blah 1 Blah Blah 2 3"
Run Code Online (Sandbox Code Playgroud)
我没有尝试过任何东西,也没有通过谷歌搜索 ( Python how to format string based on json)找到任何东西,大多数结果只是为了漂亮地打印 JSON。
您可以使用它str.format来轻松完成此操作。假设您已将 JSON 数据作为字典加载到内存中:
>>> data = {
"a": "1",
"b": "2",
"c": "3"
}
>>> "Blah {a} Blah Blah {b} {c}".format(**data)
'Blah 1 Blah Blah 2 3'
Run Code Online (Sandbox Code Playgroud)
如果您不确定如何将 JSON 字符串加载到内存中,请使用json.loads:
>>> from json import loads
>>> data = loads('{ "a": "1", "b": "2", "c": "3" }')
>>> data
{'a': '1', 'b': '2', 'c': '3'}
Run Code Online (Sandbox Code Playgroud)
因此,放在一起,完整的脚本将是:
from json import loads
data = loads('{ "a": "1", "b": "2", "c": "3" }')
print("Blah {a} Blah Blah {b} {c}".format(**data))
Run Code Online (Sandbox Code Playgroud)