[英]Building Json with string interpolation in python
我有以下內容:
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文字語法之間的細微差別的進一步問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.