从数据库里拿到数据,组成json格式并返回给前端生成动态树。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从数据库里拿到数据,组成json格式并返回给前端生成动态树。相关的知识,希望对你有一定的参考价值。

数据是根据id来取的,不同的id取的数据是不同的,也就是说有权限的问题,权限大的id可以取的数据多,获得的权限也就多,所以说数据是动态的,组成的树也是动态的。哪位大侠指点一下。随便举个例子更好。(静态的json就免了。)

参考技术A 对于服务端来说,json只是一个字符串,不过,是一个符合js对象格式的字符串
你可以专门写一个类或方法来生成json,只要按固定格式拼接字符串就可以了
(拼接的时候注意里面尽量不要有换行符,否则eval()的时候可能会报语法错误)
或者也可以在网上搜生成json的类,如果有的话直接拿来用就是了
参考技术B 你从数据库取数据的时候不是根据ID嘛,取出的数据也不同,然后保存成json,树的数据源用json,而不是用表。 参考技术C ext的例子:
//JSON阅读器
var jr=new Ext.data.JsonReader(
root: 'feedback',
fields:['id','name','content']
);
var st=new Ext.data.Store(
baseParams:start:0,limit:100,
proxy:new Ext.data.HttpProxy(
url:'Webservice.asmx/selectUsers',
method:'post'
),
json:true,
reader: new Ext.data.JsonReader(
root: 'room',
totalProperty:'total',
fields:['','']
),
listeners:
'load':function(s,o)
var room = Ext.data.Record.create(['','']);
this.insert(0,new room(:'',:''));


);本回答被提问者采纳

DRF序列化

Serializers 序列化组件 

  当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式。

  那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化。

  接下来我们看下django序列化和rest_framework序列化的对比

  Django序列化传值给前端:

    技术图片

  Serializers序列化传值给前端:

    首先,我们要用DRF的序列化,就要遵循人家框架的一些标准, 

    Django我们CBV继承类是View,现在DRF我们要用APIView

    Django中返回的时候我们用HTTPResponse,JsonResponse,render ,DRF我们用Response

    第一步 声明序列化类

      技术图片

 

     第二步 序列化对象

      技术图片

    当然,当前端给我们发送post请求时候,传过来的数据我们要保存至数据库和校验,

    反序列化用的一些字段~有些字段要跟序列化区分开

  

  Serializers反序列化

       技术图片

        required=False --不校验
        read_only=True --序列化
        write_only=True --反序列化
        这里 w_category 和 publisher_id字段因为序列化的显示字段
        与反序列不同,所以另起一个字段

 

      

      序列化对象:

       技术图片  

 验证

  在声明序列化类下对一些字段校验的方法

  技术图片

    字段必须包含python

 

  技术图片

    对多个字段验证

  

   技术图片

    自定义校验函数

 

    技术图片

    

    校验那个字段放在哪里

以上是关于从数据库里拿到数据,组成json格式并返回给前端生成动态树。的主要内容,如果未能解决你的问题,请参考以下文章

前端json请求,后端date无法解析该如何解析

json前后台数据交互 java后端怎么实现

java后端怎么发送json文件给客户端?

DRF序列化

Layui的数据表格增删改,后端回传json格式封装

请问各位java中如何将数据库返回的多个字段值拼接为一个list并转换为json对象返回到前台,谢谢!