通过递归将list<Map<String,Object>>类型的数据转换为tree组件可识别的json数据

public static JSONObject getDeptTree(List<Map<String,Object>> list,String id) throws JSONException{
		JSONObject json=new JSONObject();
		JSONArray jsons=new JSONArray();//children数组
		for (Map<String, Object> map : list) {
			String id=map.get("ID")==null ? "" : map.get("ID").toString();
			String pid=map.get("PID")==null ? "" : map.get("PID").toString();
			String name=map.get("NAME")==null ? "" : map.get("NAME").toString();
			String url=map.get("URL")==null ? "" : map.get("URL").toString();
			if(pid.equals(deptid)){
				jsons.put(getDeptTree(list,id));
			}
			if(deptid.equals(id)){
				json.put("ID",id);
				json.put("PID", pid);
				json.put("name", name);
				json.put("url",url);
			}
		}
		json.put("children", jsons);
		return json;
	}
时间: 2024-07-29 13:33:49

通过递归将list<Map<String,Object>>类型的数据转换为tree组件可识别的json数据的相关文章

MyBatis 返回Map&lt;String,Object&gt;类型

<resultMap type="map" id="stringMap"> <result property="contentIntr" column="contentIntr" javaType="string" /> </resultMap> <!-- 导出所有数据 --> <select id="exportAll" resul

关于List&lt;Map&lt;String,Object&gt;&gt;集合 的按大小排序

今天写项目,突然遇到了一个问题.程序要求我把一个List<Map<String,Object>>集合按大小排序,卧槽,当时我就懵逼了~        经过研究,功夫不负有心人啊,叼叼哒的我肿么把这个排序搞定了,回头发现,代码也是叼叼哒~醉了醉了~        废话不多说,直接上代码://这是你自己用来接受查询出来的数据的集合. List<Map<String,Object>> listMap1 = new LinkedList<Map<Stri

fastjson 将json字符串转化成List&lt;Map&lt;String, Object&gt;&gt;

亲测可行,如下: JSON.parseObject(jsonstr, new TypeReference<List<Map<String, Object>>>() {}); 用的是阿里巴巴的fastjson,  其中,jsonstr指的是list类型的json字符串:例如:[{"name":"xxx","age":12},{"name":"zzz","age&q

Map&lt;String, Object&gt; 转实体类对象工具类

public static <T> T map2Object(Map<String, Object> map, Class<T> clazz) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (map == null) { return null; } T obj = null; try { // 使用newInstance来创建对象 obj = cla

javaBean与Map&lt;String,Object&gt;互转

1. 为什么要实现javaBean与Map<String,Object>相互转换? 用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端传递过来的参数封装到一个JavaBean对象中去,而不需要我们request.getParameter("name");bean.setName(name);了,从而也简化了不少的工作.如果大家用过BeanUtils.populate的话,就知道,这

今天学会了对List&lt;Map&lt;String,Object&gt;&gt;的排序

Collections.sort(dyList, new Comparator<Map<String, Object>>() { public int compare(Map<String, Object> arg0, Map<String, Object> arg1) { int map1value=0; int map2value=0; if(arg0.get("getlicenseDate")!=null&&!arg

List&lt;map&lt;String,Object&gt;&gt;

List<Map<String, Object>> list = sendService.getApproveMsgToMap(); //第一种 //遍历map for (Map<String, Object> m : list) { for (String k : m.keySet()) { System.out.println(k + " : " + m.get(k)); } } //第二种 for (int i = 0; i < list

如何过滤List&lt;Map&lt;String,Object&gt;&gt; 中的重复Map

最近遇到一个问题,就是如何过滤一个List<Map<String,Object>> 中重复的Map,废话不多说,直接上代码. //去除重复的Map //cfArraylist 表示重复的 List<Map<String,Object>> //listMap 表示去重复数据后的 List<Map<String,Object>> Map<String, Map> msp = new HashMap<String, Map

分页查询和分页缓存查询,List&lt;Map&lt;String, Object&gt;&gt;遍历和Map遍历

分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = page * limit; sql = "select * from (select fulltable.*, ROWNUM RN from (" + sql + ") fulltable where ROWNUM <= " + end + ") where