传入的list:

[30 : null : null, 301503 : null : null, 301501 : null : null, 301502 : null : null, 3015 : null : null]

解析后的json:

 public class LeftTreeBean {
public StringBuilder getTreeMenus(List lst, String contextPath) {
StringBuilder model = new StringBuilder("");
String RightName = "";
String RightURL = ""; Map rightMap = new HashMap(); // for (RightObject ro : (ArrayList) lst) {
for (Object ro : lst) {
ro = (RightObject)ro;
String parentId = ((RightObject) ro).getParentID(); if ((parentId == null) || (parentId.trim().length() == 0)
|| (parentId.equalsIgnoreCase("0"))) {
parentId = "0";
}
if (!rightMap.containsKey(parentId)) {
rightMap.put(parentId, new ArrayList());
} ((List) rightMap.get(parentId)).add(ro);
} List lro = (List) rightMap.get("0"); if (lro != null) {
model.append("["); Map mt = ConfUtil.getMenus(); // for (RightObject ro : lro) {
for (Object ro : lro) {
ro = (RightObject)ro;
RightName = (String) ((Map) mt.get(((RightObject) ro).getRightID()))
.get("RIGHTNAME");
RightURL = ""; model.append('{').append("key:")
.append(JSONUtilities.quote(((RightObject) ro).getRightID()))
.append(",title:")
.append(JSONUtilities.quote(RightName)); if (rightMap.containsKey(((RightObject) ro).getRightID())) {
model.append(",isFolder:true,children:[\n"); for (RightObject ro2 : (List) rightMap.get(ro.getRightID())) {
Map rItem = (Map) mt.get(ro2.getRightID());
if (rItem != null) {
RightName = (String) rItem.get("RIGHTNAME"); model.append("\t{")
.append("key:")
.append(JSONUtilities.quote(ro2
.getRightID())).append(",title:")
.append(JSONUtilities.quote(RightName)); if (rightMap.containsKey(ro2.getRightID())) {
model.append(",isFolder:true,children:[\n"); for (RightObject ro3 : (List) rightMap.get(ro2
.getRightID())) {
if (mt.containsKey(ro3.getRightID())) {
RightName = (String) ((Map) mt.get(ro3
.getRightID()))
.get("RIGHTNAME");
RightURL = (String) ((Map) mt.get(ro3
.getRightID())).get("URL");
String BUSSFUNCID = ro3.getBussFuncID(); String split = RightURL.indexOf("?") >= 0 ? "&"
: "?";
String url = contextPath
+ RightURL.replace('\\', '/')
+ split + "RightID="
+ ro3.getRightID()
+ "&_menuID="
+ ro3.getRightID() + "&funcID="
+ BUSSFUNCID; model.append("\t\t{")
.append("key:")
.append(JSONUtilities.quote(ro3
.getRightID()))
.append(",title:")
.append(JSONUtilities
.quote(RightName))
.append(",url:")
.append(JSONUtilities
.quote(url))
.append("},\n");
}
}
model.deleteCharAt(model.length() - 2).append(
"\t\t]");
}
model.append("},\n");
}
}
model.deleteCharAt(model.length() - 2).append("\t]");
}
model.append("},\n");
} model.deleteCharAt(model.length() - 2).append(']');
} return model;
}
}

字符串解析成easyui-tree的格式的更多相关文章

  1. 关于yyyy-MM-dd格式日期字符串,解析成LocalDateTime遇到的问题

    yyyy-MM-dd -> LocalDateTime 直接把yyyy-MM-dd格式的日期字符串解析成LocalDateTime会抛出异常 try { LocalDateTime localD ...

  2. js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时

    js字符串转日期,js字符串解析成日期,js日期解析, Date.parse小时是8点,Date.parse时间多了8小时 >>>>>>>>>&g ...

  3. Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类

     下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...

  4. JS中将JSON的字符串解析成JSON数据格式《转》

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  5. JSON字符串解析成JSON数据格式

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  6. js 将XML字符串解析成XML文档 --- attribute construct error--- 空白字符与空格问题

    最近在做xml在线编辑器,遇到一个字符串解析成xml文档的问题,记录一下. 原始xml内容读取自xml文档 <label class="test" id="labe ...

  7. VBScript把json字符串解析成json对象的2个方法

    这篇文章主要介绍了VBScript把json字符串解析成json对象的2个方法,本文通过MSScriptControl.ScriptControl和jscript实现,需要的朋友可以参考下 asp/v ...

  8. xml 字符串解析成通用的map

    [quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...

  9. Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示

    本例以将 字符串格式的时间转成指定的时间格式显示. 第一步.定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下: import java. ...

  10. 字符串转换成js的日期格式

    js字符串转日期格式 ,JavaScript字符串转日期格式 大家都知道JS是根据结果来确定数据类型的. 当然我们也是可以转化的,下面我就介绍两种关于JS字符串类型转换成日期类型的方法, 我个人比较喜 ...

随机推荐

  1. [问题解决] Tomcat Child not unique

    错误: child not unique   发生场景: tomcat服务器   解决方案: 将tomcat中的server.xml文件配置: <Host name="localhos ...

  2. 6_StopWatch

    6 // // ViewController.swift // StopWatch // // Created by ZC on 16/1/9. // Copyright © 2016年 ZC. Al ...

  3. Python BeautifulSoup4 使用指南

    前言: 昨天把传说中的BeautifulSoup4装上了,还没有装好的童鞋,请看本人的上一篇博客: Python3 Win7安装 BeautifulSoup,依照里面简单的步骤就能够把Beautifu ...

  4. Android导航栏ActionBar的具体分析

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/39378825 关于ActionBar,相信大家并不陌生,可是真正能够熟练使用的也不是许多,这 ...

  5. BootStrap 智能表单系列 九 表单图片上传的支持

    本章介绍如何在生成表单后,可以支持上传图片后可以及时预览图片 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/maste ...

  6. js中Date对象

    Date常用的几个方法: var oDate=new Date(); oDate.getHours()方法是获取当前的小时 oDate.getMinutes()方法获取当前的分钟 oDate.getS ...

  7. iOS实践04

    第四天 微博数据展示:获取服务器数据,json数据的解析,MVC的使用,自定义cell高度的计算,一些分类的设计.已经是第四天了,虽然每天都有课程,但这个东西也基本完成了一大半吧,一些忘掉的知识也捡起 ...

  8. Hibernate学习之hql查询语句

    *  页面上数据的字段和数据库中字段差不多,这个时候,采用迫切连接  结构比较好,如果页面上的字段很少,要按照需求加载数据,采用带构造函数的select查询 实例讲解:转自:http://www.cn ...

  9. pprint模块解析

    pprint模块提供了打印任意python数据结构的方法,如果这个数据结构不是python的基本类型,则可能无法打印结果.         pprint模块定义了一个类:         pprint ...

  10. ThinkPHP第十三天(CONF_PATH、APP_PATH,UEditor用法)

    1.CONF_PATH 项目配置文件目录地址,APP_PATH 项目地址 2.ThinkPHP中更新数据的连接操作位save(),更新一个字段可以用setField(name,value)方法. 3. ...