java 机构树怎么生成json

Python012

java 机构树怎么生成json,第1张

java 机构树怎么生成json

如果是zTree则后台只需要传一个数组形式的JSON就可以搞定,{name: '父节点1', children: [ {name: '子节点1'}, {name: '子节点2'} ]}这种写法找父子关系不得找死。

下面这种JSON最方便

var nodes = [

{id:1, pId:0, name: "父节点1"},

{id:11, pId:1, name: "子节点1"},

{id:12, pId:1, name: "子节点2"}

]

后台拼接JSON串代码也很简单啊,[id=1 pId=-1 name=名称1]为一条数据放入数组或List中,[id=101 pId=1 name=名称2]为一条数据放入集合,依次类推就是一个数据集了,然后for循环拼装JSON即可:

StringBuilder sb = new StringBuilder()

sb.append("[")

for(...){

sb.append("{\"id\":").append(id).append(",\"pId\":").append(pId).append(",\"name\":\"").append(name).append("\"},")

}

//注意去掉最后一个逗号

......

sb.append("]")

//接受一个List

net.sf.json.JSONArray.fromObject(dataList)

//接受一个bean

net.sf.json.JSONObject.fromObject(Object object)

利用json-lib,封装好对象的层级关系后,直接可以用上面两个方法来转换json格式数据。

//是类似这种吗

//控制层使用JSONArray jsonObject=JSONArray.fromObject()转换

Map<String,Object> map = new HashMap<String, Object>()

     map.put("id","1")

     map.put("text","实验外国语学校")

     List<Map<String,Object>> fatherList=new ArrayList<Map<String,Object>>()

     List<Map<String,Object>> list=new ArrayList<Map<String,Object>>()

     for(Bean bean:list){

         if("1".equals(list.getParent_level())){

    

         Map<String,Object> map2=new HashMap<String, Object>()

    

         map2.put("id",list.getId())

    

         map2.put("text",list.getName())

    

         list.add(map2)

    

         }

    

     }

     map.put("children",list)