需要序列化的内容:从2个无关的数据表中取出数据,放入到2个字典中,需要将2个字典合并成一个新的字典,再将此字典序列化后返回给前端
以下是后端的python views.py代码:
import json
......
class DataimportList(APIView):
def get(self,request,format=None):
jsonNodes=[]
inDataList=['节点1','节点2','节点3']
for inDataStr in inDataList:
inData={} #生成nodes节点数据集字典
inData["id"]=inDataStr
inData["x"]=randint(1,2014)
inData["y"]=randint(1,2014)
inData["color"]=str(randint(0,255))+','+str(randint(0,255))+','+str(randint(0,255))
jsonNodes.append(inData)
jsonNodes=[]
allDates = Dataimport.objects.all()
for chooseData in allDates:
inData["source"]=chooseData.dataprovider
inData["label"]=str(chooseData.datasetlable)
inData["target"]=chooseData.datasetnametarget
jsonLinks.append(inData)
jsonData={"nodes":jsonNodes,"links":jsonLinks}
jsonData_serializer =json.dumps(jsonData).encode('utf-8').decode('unicode_escape')
return Response(jsonData_serializer)
以下是前端的js代码部分:
function loadData() {
var data = {};
$.ajax({
async: false,
type: 'get',
dataType: 'json',
url: 'http://127.0.0.1:8000/apidata1/?choosetype=1',
success: function (result) {
data = result;
},
});
return data;
}
目前出现的问题是前端获得数据有问题,返回为:
解决不了的问题是:
1、每个"前都有1个\;
2、这样得到的返回结构是否是一个正确的json数据,如果不能,哪位能指点指点。
3、如果使用django的序列化嵌套的方式,如何能使得2个字典(不是数据表的记录)进行序列化嵌套。
万分感激!