我想用JSON在我的模型的TextField中存储JSON片段:
class A(models.Model):
name = models.CharField(max_length=200)
people = models.TextField()我有序列化类:
class ASerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = A
fields = ('name', 'people')我如何告诉Django REST框架将人的字符串视为JSON,而不是string。例如,当人们是{“名称”:“A”,“姓氏”:“B”}我希望在Django REST框架生成的JSON中拥有
"people" : [ {"name":"A", "surname":"B"}]而不是
"people" : "[ {\"name\":\"A\", \"surname\":\"B\"}]"编辑:我更改了ASerializer类,并使用了django-jsonfield的JSONField,一切都正常。在下面的新代码中,transform_people方法用于序列化,validate_people用于反序列化:
class ASerializer(serializers.ModelSerializer):
def transform_people(self, obj, value):
if obj is None:
return obj
else:
return obj.people
def validate_people(self, attrs, source):
return attrs
class Meta:
model = A发布于 2014-07-04 13:25:28
将响应转换为json对象
import json
## In this case lets say
response = [{"name":"A", "surname":"B"}]
data = json.dumps(response)
print datahttps://stackoverflow.com/questions/24574307
复制相似问题