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

gri*_*rno 4 python json

在 Python 中将 dict 转换为 json 时,我需要转义双引号,但我很难弄清楚如何转义。

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

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

json.dumps不这样做,我尝试过类似的事情:

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

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

这似乎是一个很容易解决的问题,但我真的很挣扎。

nos*_*klo 8

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

你看到这个的原因是:

'{\\"foo\\": \\"bar\\"}'
Run Code Online (Sandbox Code Playgroud)

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