繁体   English   中英

在Python中将字典转换为json时转义双引号

[英]Escape double quotes when converting a dict to json in Python

在Python中将字典转换为json时,我需要转义双引号,但我一直在努力寻找方法。

因此,如果我有一个类似{'foo': 'bar'}的字典,我想将其转换为json并转义双引号-因此它看起来像:

'{\\"foo\\":\\"bar\\"}'

json.dumps不会执行此操作,而我尝试了以下操作:

json.dumps({'foo': 'bar'}).replace('"', '\\\\"')最终格式如下:

'{\\\\"foo\\\\": \\\\"bar\\\\"}'

这似乎是一个很简单的问题,但我真的很努力。

您最后一次尝试json.dumps({'foo': 'bar'}).replace('"', '\\\\"')实际上符合您的想法。

您看到此信息的原因:

'{\\"foo\\": \\"bar\\"}'

是因为您正在打印字符串的表示形式。 字符串本身每个引号都只有一个反斜杠。 如果对该结果使用print() ,则会看到一个反斜杠

您所拥有的有效。 Python向您展示了它的字面表示。 如果将其保存到变量中并打印出来,它将显示您要查找的内容。

>>> a = json.dumps({'foo': 'bar'}).replace('"', '\\"')
>>> print a
{\"foo\": \"bar\"}
>>> a
'{\\"foo\\": \\"bar\\"}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM