如何解决如何使用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 举报,一经查实,本站将立刻删除。