首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django REST框架:从string创建JSON片段

Django REST框架:从string创建JSON片段
EN

Stack Overflow用户
提问于 2014-07-04 12:26:27
回答 1查看 4.8K关注 0票数 5

我想用JSON在我的模型的TextField中存储JSON片段:

代码语言:javascript
复制
class A(models.Model):
    name = models.CharField(max_length=200)
    people = models.TextField()

我有序列化类:

代码语言:javascript
复制
class ASerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = A
        fields = ('name', 'people')

我如何告诉Django REST框架将人的字符串视为JSON,而不是string。例如,当人们是{“名称”:“A”,“姓氏”:“B”}我希望在Django REST框架生成的JSON中拥有

代码语言:javascript
复制
"people" : [ {"name":"A", "surname":"B"}]

而不是

代码语言:javascript
复制
"people" : "[ {\"name\":\"A\", \"surname\":\"B\"}]"

编辑:我更改了ASerializer类,并使用了django-jsonfield的JSONField,一切都正常。在下面的新代码中,transform_people方法用于序列化,validate_people用于反序列化:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2014-07-04 13:25:28

将响应转换为json对象

代码语言:javascript
复制
import json
## In this case lets say
response = [{"name":"A", "surname":"B"}]
data = json.dumps(response)
print data
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24574307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档