我有一个列表['foo', 'bar', 'baz', 'qux', 'quux', 'corge', 'grault', 'garply', 'waldo']
,我必须获取列表中的每一项,并为JSON字符串添加\"
作为前缀,\"
作为后缀。在
示例JSON字符串是(我想要的输出):"{\"Names\":[\"foo\",\"bar\",\"baz\",\"qux\"]}"
。在
另外,为什么我必须为JSON字符串加上\
?当我不带反斜杠发送时,服务器会拒绝它。在
当我尝试这样做时:
x = "{\"Names\":[{0}]}"
y = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge', 'grault', 'garply', 'waldo']
z = ''
for item in y:
z += "\"{0}\",".format(item)
x.format(z)
反斜杠没有我想要的效果。在
你应该停止尝试重新发明轮子,而改用^{} module :
更一般地说,如果使用单引号,则不必转义这里的双引号;逗号可以通过使用
^{pr2}$str.join()
来处理:演示:
以及
这是Python字符串文本的一种怪癖,而不是JSON。因为您用
""
s引用字符串文本,所以字符串中的任何引号都必须用反斜杠转义。可以通过在字符串周围使用单引号而不是双引号来避免这种情况。在相关问题 更多 >
编程相关推荐