我需要执行以下短代码
isin = 'US0028241000'
payload = f'[{"idType":"ID_ISIN", "idValue": "{isin}"}]'
它输出valueerror:无效格式说明符
我也试过:
payload = '[{"idType":"ID_ISIN", "idValue": "{}"}]'.format(isin)
这个不太好用。 我的想法是,这是因为花括号位于一个词内。 我该如何执行这首曲子?
你的标题暗示了解决办法。 在F字符串中,您需要对文字花括号使用{{
和}}
,但您从不引入它们。
>>> f'[{{"idType":"ID_ISIN", "idValue": "{isin}"}}]'
'[{"idType":"ID_ISIN", "idValue": "US0028241000"}]'
也就是说,不要使用字符串格式化工具构造JSON值; 使用JSON
模块。
>>> import json
>>> json.dumps([{'idType': 'ID_ISIN', 'idValue': isin}])
'[{"idType": "ID_ISIN", "idValue": "US0028241000"}]'
问题是花括号。
要摆脱它们,请尝试:
payload = f'[{{"idType":"ID_ISIN", "idValue": "{isin}"}}]'
isin = 'US0028241000'
payload = f'[{{"idType":"ID_ISIN", "idValue": "{isin}"}}]'
print(payload)
若要在设置字符串格式时忽略任何花括号,只需用{}
将其换行即可