json - json 加载 JSONDecodeError: Expecting ',' 分隔符
问题描述
我的 json 文件有问题,这是我的代码:
import json
x= '{ "receive_time": "2020-06-26T08:04:27+07:00", "services": "", "request_uri": "/", "request_body": "{\x22p\x22:\x22smaet\x22,\x22av\x22:\x225.9.0\x22}"}'
json.loads(x)
详细错误:期待“,”分隔符:第 1 行第 103 列(字符 102)我想要的结果:
{'receive_time': '2020-06-26T08:04:27+07:00',
'services': '',
'request_uri': '/',
'request_body': '{"p":"smaet","av":"5.9.0"}'}
请帮助我,谢谢
解决方案
的字符串值request_body
格式错误。
作为 json 字符串,\x22
(双引号)必须有反斜杠转义。
https://www.json.org/json-en.html
反斜杠也是 Python 字符串文字中的转义字符。字符串文字中的转义序列\\
表示单个字符\
。
所以下面的代码
import json
x = '{ "receive_time": "2020-06-26T08:04:27+07:00", "services": "", "request_uri": "/", "request_body": "{\\\x22p\\\x22:\\\x22smaet\\\x22,\\\x22av\\\x22:\\\x225.9.0\\\x22}"}'
print(json.loads(x))
印刷
{'receive_time': '2020-06-26T08:04:27+07:00', 'services': '', 'request_uri': '/', 'request_body': '{"p":"smaet","av":"5.9.0"}'}
推荐阅读
- python - json 文件的 i/o 到底发生了什么?
- python-3.6 - 如何使用 UIA 包装器修复返回空值的列表框
- c# - (何时)使用 FluentAssertions 是个好主意吗?
- c# - 如何在 Unity Android 应用程序中使用 OpenCV 中的 ARCore 相机图像?
- python - 如何合并列表中的对象
- mysql - 协助 SELECT 和 COUNT
- c# - Gitlab 命令无法通过 IIS Web 应用程序运行
- clearcase - 可以将我签出的文件从实际目录复制到我的主目录中吗?
- html - 将组添加到关注者 - Phaser 3
- mysql - Spring Boot - MySQL 默认使用 InnoDB