微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用json.dumps将带有大括号的dict值转储到JSON?

如何解决如何使用json.dumps将带有大括号的dict值转储到JSON?

我正在尝试使用json.dumps对这样的字典对象进行编码。

json_str = json.dumps({'test':'/inform{"payload"}'})

但这似乎在括号后面加了一个反斜杠。

print(json_str)
# '{"test": "/inform{\\"payload\\"}"}'

print(repr(json_str))
# '\'{"test": "/inform{\\\\"payload\\\\"}"}\''

我很困惑,它只在方括号内执行。

解决方法

它可以正常工作,但是在逃脱转义时有时会有些混乱。

>>> import json
>>> json_str = json.dumps({'test':'/inform{"payload"}'})
>>> json_str
'{"test": "/inform{\\"payload\\"}"}'
>>> print(json_str)
{"test": "/inform{\"payload\"}"}

{"test": "/inform{\"payload\"}"}是正确的JSON,因为需要转义双引号。当您在上方运行json_str时,它会输出该字符串的表示形式,因此必须将\转义为\\并将整个内容放在单引号中。完成print(repr(json_str))后,您将再次转义转义的字符串。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。