json load JSONDECODEROR:应为'';分隔符

json load JSONDECODEROR:应为'';分隔符,json,python-3.x,Json,Python 3.x,我对json文件有问题,这是我的代码: import json x= '{ "receive_time": "2020-06-26T08:04:27+07:00", "services": "", "request_uri": "/", "request_body": "{\x22p\x22:\x22smaet\x22,\x22av\x22:\x2

我对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"}'}

请帮助我,谢谢

请求正文的字符串值格式错误

作为json字符串,
\x22
(双引号)必须有反斜杠转义。

反斜杠也是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"}'}

x222之前的字符串中必须使用3个斜杠,因为一个\用于特殊序列。两个斜杠表示接受一个斜杠,三个斜杠表示所需的输出

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}"}'
data = json.loads(x)
print(data);
嗨,当我使用:x.replace('\x22','\\\x22')时,x变成:“{\\”请求体\\”:\\“{\\”p\\”:\\“smet\\”,\\“av\\”:\\“5.9.0\\”}”。