0
我有Python中的服務器是在以下格式recieving數據:ERROR在python服務器讀取multidict?
MultiDict([('JSONdata', u'{"SMS":[{"inbox":[{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP *qqqqq*","phone":"+920000000":"BACKUP *qqqqq*","phone":"+920000000"},{"body":"BACKUP \\"qqqqq\\" ","phone":"+920000000"},{"body":"BACKUP \\"qqqqq\\" ","phone":"+920000000"},{"body":"BACKUP \\"qqqqq\\" ","phone":"+920000000"},]},{"sent":[]}]}')])
我寫了下面的代碼中的JSONObject獲取它,並將其轉換:
request.POST.getall('JSONdata')
incomingData = json.load(str)
,但我recieving的錯誤:
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid/router.py", line 251, in __call__
response = self.invoke_subrequest(request, use_tweens=True)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid/router.py", line 227, in invoke_subrequest
response = handle_request(request)
File "/home/anam/cdsr/myproject/auth.py", line 50, in auth_request
return handler(request)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid_debugtoolbar/toolbar.py", line 130, in toolbar_tween
return handler(request)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween
response = handler(request)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid_tm/__init__.py", line 82, in tm_tween
reraise(*exc_info)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid_tm/__init__.py", line 63, in tm_tween
response = handler(request)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid/router.py", line 161, in handle_request
response = view_callable(context, request)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid/config/views.py", line 347, in rendered_view
result = view(context, request)
File "/home/anam/pyckenv/local/lib/python2.7/site-packages/pyramid/config/views.py", line 493, in _requestonly_view
response = view(request)
File "/home/anam/cdsr/myproject/controllers/controllers.py", line 44, in data
incomingData = json.load(str)
File "/usr/lib/python2.7/json/__init__.py", line 274, in load
return loads(fp.read(),
AttributeError: 'list' object has no attribute 'read'
QMobile-A8 - - [11/Oct/2013 08:24:08] "POST /data HTTP/1.1" 500 59
我已經嘗試了不同的方法來解決它,但nothings工作..?有人能告訴我我做錯了什麼嗎?
感謝..但這樣做的錯誤後改爲...文件「/usr/lib/python2.7/json/decoder.py」,行366,在解碼 OBJ,結束= self.raw_decode(S,IDX = _W(S,0).END()) 類型錯誤:預期的字符串或緩衝區 – Ifrah
編輯的問題,以顯示裏面是什麼'MultiDict'實例,請與是什麼'request.POST.getall(「JSONdata」)'返回 – alexvassel
我添加了完整的傳入multidict – Ifrah