在python中使用字符串插值构建Json
我有以下资料:在python中使用字符串插值构建Json,python,json,Python,Json,我有以下资料: max_id = 10 for i in range(max_id): payload = "{\"text\": R%s,\"count\":\"1 \",}" %(i) print(payload) 我想迭代这个,并将json负载的值设置为R1,R2。。。调试后,输出为: >>> payload Out[1]: '{"text": R0,"count":"1 ",}' 我需要它 Out[1]: '{"tex
max_id = 10
for i in range(max_id):
payload = "{\"text\": R%s,\"count\":\"1 \",}" %(i)
print(payload)
我想迭代这个,并将json负载的值设置为R1,R2。。。调试后,输出为:
>>> payload
Out[1]: '{"text": R0,"count":"1 ",}'
我需要它
Out[1]: '{"text": "R0","count":"1 ",}'
我尝试过很多不起作用的事情:
>>> payload = "{\"text\": %s,\"count\":\"1 \"}" % ("'R'+str(i)")
>>> payload
Out[2]: '{"text": \'R\'+str(i),"count":"1 "}'
>>> payload = "{\"text\": \"%s\",\"count\":\"1 \" }" % ('R'+str(i))
>>> payload
Out[4]: '{"text": \'R\'+str(i),"count":"1 "}'
>>> payload = "{\"text\": %s,\"count\":\"1 \" }" % ('"'+'R'+str(i)+'"')
>>> payload
Out[6]: '{"text": \'R\'+str(i),"count":"1 "}'
>>> payload = "{\"text\": %s,\"count\":\"1 \" }" % ('"'+'R'+str(i)+'"')
>>> payload
Out[8]: '{"text": \'R\'+str(i),"count":"1 "}'
>>> payload = "{\"text\": %s,\"count\":\"1 \" }" % ("+'R'+str(i)+")
我怎样才能让它工作呢?不要用字符串插值。使用实际的JSON转储程序:
import json
payload = json.dumps({"text": 'R'+str(i), "count": "1 "})
如果您真的想使用字符串插值,可以将缺少的引号添加到格式字符串中,但这不是一个好习惯。稍后,在需要转义的字符以及JSON语法和Python文本语法之间的细微差异方面,您会遇到进一步的问题。不要使用字符串插值。使用实际的JSON转储程序:
import json
payload = json.dumps({"text": 'R'+str(i), "count": "1 "})
如果您真的想使用字符串插值,可以将缺少的引号添加到格式字符串中,但这不是一个好习惯。稍后你会遇到更多的问题,其中有需要转义的字符和JSON语法和Python文字语法之间的细微差别。然后,我想你必须把丢失的引号添加到字符串文字中……而不是做有效载荷= {……考虑做有效载荷=…{……-然后开始使用Str.Frad。然后我想你必须把丢失的引号添加到字符串文字中……而不是执行有效载荷= {……考虑做有效载荷={…-然后开始使用str.format。快速跟进:我正在阅读,但不知道为什么它被称为“dump”快速跟进:我正在阅读,但不知道为什么它被称为“dump”