我有这个代码
json.loads(request.POST.get('mydata',dict()))
但我得到这个错误
No JSON object could be decoded
我只希望如果没有mydata
POST,那么我不会收到该错误。
简单地:
json.loads(request.POST.get('mydata', '{}'))
或者:
data = json.loads(request.POST['mydata']) if 'mydata' in request.POST else {}
或者:
if 'mydata' in request.POST:
data = json.loads(request.POST['mydata'])
else:
data = {} # or data = None
loads()
接受 json 格式的字符串并将其转换为 Python 对象,如 dict 或 list。在您的代码中,如果不存在,您将dict()
作为默认值传递,而它应该是一个字符串,例如. 所以你可以写 -mydata
request.POST
"{}"
json_data = json.loads(request.POST.get('mydata', "{}"))
还要记住, 的值request.POST['mydata']
必须是 JSON 格式,否则你会得到同样的错误。