创建空的JSON对象,我有这样的代码我怎样才能在Python
json.loads(request.POST.get('mydata',dict()))
,但我得到这个错误
No JSON object could be decoded
我只是想,如果没有在POST mydata
然后我没有得到这样的错误
创建空的JSON对象,我有这样的代码我怎样才能在Python
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对象。在您的代码中,如果mydata
不存在于request.POST
中,那么您将传递dict()
作为默认值,而它应该是一个字符串,如"{}"
。所以,你可以写 -
json_data = json.loads(request.POST.get('mydata', "{}"))
还记得,的request.POST['mydata']
值必须JSON格式,否则你会得到同样的错误。
这里经常抓人的一个故事是空串。如果mydata为空,那么这将失败,并且get中的默认参数不会保存您。 – ButtersB 2015-08-28 14:51:40