django请求报错JSONDecodeError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django请求报错JSONDecodeError相关的知识,希望对你有一定的参考价值。

def register(request):
if request.method == 'POST':
#1,查数据库比较email有没有重复
request_data=request.body
print(type(request_data))
if request_data:
request_dict=json.loads(request_data)
报如下错误:
JSONDecodeError at /register/
Expecting value: line 1 column 1 (char 0)
Request Method: POST
Request URL: http://localhost:8000/register/
Django Version: 3.0
Exception Type: JSONDecodeError
Exception Value:
Expecting value: line 1 column 1 (char 0)
Exception Location: C:\ProgramData\Anaconda3\lib\json\decoder.py in raw_decode, line 357
Python Executable: C:\ProgramData\Anaconda3\python.exe
Python Version: 3.6.5
Python Path:
['G:\\python\\Shangshu',
'G:\\python\\Shangshu',
'C:\\ProgramData\\Anaconda3\\python36.zip',
'C:\\ProgramData\\Anaconda3\\DLLs',
'C:\\ProgramData\\Anaconda3\\lib',
'C:\\ProgramData\\Anaconda3',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin',
'D:\\PyCharm 2018.2.4\\helpers\\pycharm_matplotlib_backend']
Server time: Sun, 19 Apr 2020 14:28:59 +0000

参考技术A json.loads(request_data, strict=False) 参考技术B request.body数据格式不是json,检查发送的请求体内容

pythonjson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)!!!

(一)问题:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

(二)原因:request的GET请求/POST请求,反作用域为空的异常未考虑

(三)代码描述:未做空返回判断,我是因为调用的接口函数错误导致。

 

 

(四)接口描述:这种类型的接口返回没有json返回,所以反作用域报错。

 

以上是关于django请求报错JSONDecodeError的主要内容,如果未能解决你的问题,请参考以下文章

JSONDecodeError,在 Django 中使用 json.loads 时

[已解决]报错JSONDecodeError

json.loads 报错 json.decoder.JSONDecodeError

pythonjson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)!!!

Python 读json报错json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes:

python json.loads 报错 json.decoder.JSONDecodeError