創建空的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