传入的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. C++中类成员函数作为回调函数

    注:与tr1::function对象结合使用,能获得更好的效果,详情见http://blog.csdn.net/this_capslock/article/details/38564719 回调函数是 ...

  2. mysql数据库字段区分大小写的设置方法

    alter table t_25_thread_info modify column thread_id varchar(8) character set utf8 collate utf8_bin;

  3. delphi调用外部程序打开文件

    delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...

  4. 被拒--悲剧之ORA-01017: invalid username/password; logon denied 错误

    本地没有安装oracle.安装了oracleclient和PL/SQL Developer.来实现对oracle数据库的可视化操作. 在使用在登录PL/SQL无法登录.提示错误:ORA-01017: ...

  5. MySQL具体解释(19)----------海量数据分页查询优化

    分页的详细解说解说请看http://blog.csdn.net/u011225629/article/details/46775947 查看代码打印1 SELECT * FROM table ORDE ...

  6. web浏览器中的javascript 1

    Html 文档嵌入客户端有4种方式. 1. 内联.放置在<script>和</script>标签对之间. 2.放置在<script>标签的src属性指定的外部文件中 ...

  7. JS 在html中的位置

    前言 当我了解完html在浏览器中的解析渲染流程后,反而又发现了新的困扰自己的问题. Q:即然html要渲染需要渲染树,而渲染树又需要DOMTree和CSSRuleTree,DOMTree需要解析HT ...

  8. 移动端纯原生JS不依赖ajax后台服务器实现省市县三级联动

    最近好多天没有更新文章,是因为公司的项目忙的不行.今天有点时间,就突然想起在移动端项目中遇到三级联动的问题,网上查了很多资料,都是依赖各种插件,或者晦涩难于理解.于是,自己决定写一个出来. 当然,没有 ...

  9. 【转】QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化

    //QString to wchar_t *: const wchar_t * encodedName = reinterpret_cast<const wchar_t *>(fileNa ...

  10. JQuery中文本框获取焦点

    今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用jQuery的话 是不是对象.focus()就可以了, 可是当我 ...