Jor*_*dan 5 python json python-2.7
我在转义字符和 json.dumps 方面遇到了一些问题。
每当调用 json.dumps 时,似乎都会添加额外的转义字符。例子:
not_encoded = {'data': '''!"#$%'()*+,-/:;=?@[\]^_`{|}~0000&<>'''}
print(not_encoded)
{'data': '!"#$%\'()*+,-/:;=?@[\\]^_`{|}~0000&<>'}
Run Code Online (Sandbox Code Playgroud)
这很好,但是当我进行 json 转储时,它会添加很多额外的值。
json.dumps(not_encoded)
'{"data": "!\\"#$%\'()*+,-/:;=?@[\\\\]^_`{|}~0000&<>"}'
Run Code Online (Sandbox Code Playgroud)
转储不应该是这个样子。它是双重转义 \ 和 "。任何人都知道这是为什么以及如何修复它?我希望 json.dumps 输出
'{"data": "!\"#$%'()*+,-/:;=?@[\\]^_`{|}~0000&<>"}'
Run Code Online (Sandbox Code Playgroud)
编辑
加载回转储中:
the_dump = json.dumps(not_encoded)
json.loads(the_dump)
{u'data': u'!"#$%\'()*+,-/:;=?@[\\]^_`{|}~0000&<>'}
Run Code Online (Sandbox Code Playgroud)
问题是我正在访问一个需要这些特殊字符的 API 端点,但当 json.dumps 添加额外的转义字符 (\\\\和\\") 时,它会超出字符限制。
| 归档时间: |
|
| 查看次数: |
12336 次 |
| 最近记录: |