我有这段代码
json.loads(request.POST.get('mydata',dict()))
但我得到了这个错误
No JSON object could be decoded
我只希望如果POST中没有mydata
,那么我就不会收到这个错误。
简单来说:
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。在您的代码中,如果request.POST
中不存在mydata
,则将dict()
作为默认值传递,而它应该是一个字符串,例如"{}"
。因此,您可以这样编写 -
json_data = json.loads(request.POST.get('mydata', "{}"))
request.POST['mydata']
的值必须是JSON格式的,否则你会收到相同的错误。