我收到以下錯誤:Django的反序列化
Traceback (most recent call last):
File "../tests.py", line 92, in test_single_searchfor return_obj in serializers.deserialize("json",response, ensure_ascii=False):
File "/Library/Python/2.6/site-packages/django/core/serializers/json.py", line 38, in Deserializer for obj in PythonDeserializer(simplejson.load(stream), **options): File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/json/init.py", line 264, in load return loads(fp.read(), AttributeError: 'HttpResponse' object has no attribute 'read'
在views.py序列化工作正常:
resultsjson = serializers.serialize("json", results, ensure_ascii=False)
return HttpResponse(resultsjson, mimetype = 'application/json')
然而,當我嘗試處理結果在測試我的調用方法.py:
response = self.client.get("/path/?query=testValue")
for return_obj in serializers.deserialize("json", response, ensure_ascii=False):
print return_obj
我得到上述錯誤。有沒有人遇到同樣的錯誤。我正在使用Django 1.2(svn的最新版本),它似乎在使用內置的simplejson serializser。
是的,嘗試'serializers.deserialize(「json」,response.content,ensure_ascii = False)'如Daniel建議 – 2010-05-17 21:14:38
謝謝,使用response.content解決了這個問題。更新的Django版本使用'''json'''的 – herbyme 2010-05-18 05:24:12
。所以它會是'''''json.loads(response.content)''' – serguitus 2017-03-22 01:02:19