09 json 序列化

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')  #
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')  #
 ret['data'] = list(user_list) #list   [(),(),(),()......]
result = json.dumps(ret)

你可能感兴趣的:(09 json 序列化)