A. 如何用java拼接JSON方式遍历整个树形节点
//是类似这种吗
//控制层使用JSONArrayjsonObject=JSONArray.fromObject();转换
Map<String,Object>map=newHashMap<String,Object>();
map.put("id","1");
map.put("text","实验外国语学校");
List<Map<String,Object>>fatherList=newArrayList<Map<String,Object>>();
List<Map<String,Object>>list=newArrayList<Map<String,Object>>();
for(Beanbean:list){
if("1".equals(list.getParent_level())){
Map<String,Object>map2=newHashMap<String,Object>();
map2.put("id",list.getId());
map2.put("text",list.getName());
list.add(map2);
}
}
map.put("children",list);
B. 如何用java递归生成带children的json串
这个问题有点没意义,因为java已经有相应的jar了,不论是阿里的fastjson,还是gson,又或者是jackson,都是已经很成熟的jar了。如果非要自己去写的话,就需要用到反射了。简单来说,就是获取对象的所有属性。复杂说的话,要判断对象的属性,判断属性类型,判断属性值是否为null,判断对象是否是有transient修饰,判断字符串里面是否有双引号等等。然后通过StringBuffer或是StringBuilder去拼接字符串,来生成json串,至于是StringBuffer还是StringBuilder就看你的需要再决定了
C. java中json不确定多少层
使用递腊纯归函数。java中json不确定多少层需要使用递归函数,要获取的值就需要一个路径来表示,路径可以用数组来标记,这个Json字符友谈串有多层嵌套好局碰,还有不固定的元素。只要学会了方法,不管多少层也是能分析出来的。