我有以下代码:
import json
domain="abc.com"
rawlog = json.loads(
f'{"domain": ${domain}}')
print(rawlog["domain"])
这给了我:
Traceback (most recent call last):
File "<string>", line 6, in <module>
ValueError: Invalid format specifier
>
问题是,原因是什么?我是否可以在Json中使用fstring?我使用的是最新的Python:python3 --version
显示Python 3.10.4
。
我也试过:
import json
domain="abc.com"
rawlog = json.loads('{"domain": f'{domain}'}')
print(rawlog["domain"])
但它给出了:
File "<string>", line 5
rawlog = json.loads('{"domain": f'domain'}')
^
SyntaxError: invalid syntax
由于{
和}
具有特殊含义,它们需要转义为字面{
和字面}
,请考虑以下简单示例
import json
domain="abc.com"
string=f'{{"domain": "{domain}"}}'
parsed=json.loads(string)
print(parsed)
给出输出
{'domain': 'abc.com'}