09 json 序列化
2019-01-11 本文已影响7人
小码码
Django 序列化的方式主要有json.dumps和serializers,这两者的使用区别是什么呢?
-
json.dumps
json.dumps只能序列化python内置的一些类型(例如:字典,列表,元祖。。。),不能序列化django对象 -
serializers用于序列化Django的Queryset [object,object,object]类型
-
使用举例
from django.core import serializers
#serializers的使用
ret = models.BookType.objects.all()
data = serializers.serialize("json", ret) #"json"表示序列化目标格式为json
#json.dumps的使用1
ret = {'status':True,'data':None}
user_list = UserInfo.objects.all().values('id','username') #<querytset [{key:value},{key:value}.......]>
ret['data'] = list(user_list) #list [{key:value},{key:value}.......]
result = json.dumps(ret)
#json.dumps的使用2
user_list = models.UserInfo.objects.all().values_list('id', 'username') #<querytset [(),(),(),()......]>
ret['data'] = list(user_list) #list [(),(),(),()......]
result = json.dumps(ret)