为什么djangos json序列化器工作但不是pythons?

时间:2014-07-05 01:25:41

标签: python json django

有人可以向我解释这里发生的事情,以及这两个功能之间的区别。我本质上是试图将django对象返回到我的角度控制器,因此响应必须在json中。

obj = Cuisine.objects.all()
print obj
[<Cuisine: Chinese>, <Cuisine: Indian>, <Cuisine: Japanese>]

使用django序列化程序

from django.core import serializers
obj_json = serializers.serialize('json', obj)
print obj_json
[{"pk": 1, "model": "swings.cuisine", "fields": {"name": "Chinese"}}, {"pk": 2, "model": "swings.cuisine", "fields": {"name": "Indian"}}, {"pk": 3, "model": "swings.cuisine", "fields": {"name": "Japanese"}}]

使用python json,为什么它无法将我的对象转换为json?

import json
obj_json = json.dumps(obj)
TypeError: TypeErro...izable',)

现在django-angular有一个JSONResponseMixin,它自动将返回的对象/列表转换为json,但它一直给我一个类型错误。我有一种感觉,它与json.dumps工作的原因相同。我一直在阅读各种尝试各种各样的工作,没有运气。我已经尝试通过list(obj)首先将我的对象转换为列表,但是什么也没做。

有什么想法吗?

0 个答案:

没有答案