序列化:将数据转化为可以存储在文件中的格式的过程叫做序列化
反序列化:将文件中的数据转化为原格式的过程叫做反序列化
python的dump不能序列化django的QuerySet和model对象,如果要序列化QuerySet,需要用到serializers模块,且该模块只能序列化QuerySet。
第一种情况
后端序列化:serializers.serialize("json",QuerySet)
前端反序列化:JSON.parse(序列化数据)
#在后台 from django.core import serializers #导入模块 import json …… ret = {'status':True,'data':None} user_list = models.UserInfo.objects.all() ret['data'] = serializers.serialize("json",user_list) #序列化为json格式 return HttpResponse(json.dumps(ret))
//在前端ajax DataType:'JSON' //DataType指定为JSON会将后端传递过来的的JSON字符串转换为原字典格式 …… v = JSON.parse(arg.data) //前端通过JSON.parse()将后端serialize序列化之后的数据转化为原QuerySet
第二种情况
#在后台 import json …… ret = {'status':True,'data':None} user_list = models.UserInfo.objects.all().values('id','username')#或者values_list('id','username') #模型对象,对象中的每一个值为字典或元组 ret['data'] = list(user_list) return HttpResponse(json.dumps(ret))
//在前端ajax DataType:'JSON' //DataType指定为JSON会将后端传递过来的的JSON字符串转换为原字典格式 …… v = arg.data //前端直接获取值