using LeaRun.Util.WebControl; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LeaRun.Util.WebControl { /// /// 构造树形Json /// public static class TreeJson { /// /// 转换树Json /// /// 数据源 /// 父节点 /// public static string TreeToJson(this List list, string ParentId = "0") { StringBuilder strJson = new StringBuilder(); List item = list.FindAll(t => t.parentId == ParentId); strJson.Append("["); if (item.Count > 0) { foreach (TreeEntity entity in item) { strJson.Append("{"); strJson.Append("\"id\":\"" + entity.id + "\","); if (entity.text != null && !string.IsNullOrEmpty(entity.text)) { strJson.Append("\"text\":\"" + entity.text.Replace(" ", "") + "\","); } if (entity.value != null && !string.IsNullOrEmpty(entity.value)) { strJson.Append("\"value\":\"" + entity.value + "\","); } if (entity.Code != null && !string.IsNullOrEmpty(entity.Code)) { strJson.Append("\"code\":\"" + entity.Code + "\","); } if (entity.Attribute != null && !string.IsNullOrEmpty(entity.Attribute)) { strJson.Append("\"" + entity.Attribute + "\":\"" + entity.AttributeValue + "\","); } if (entity.AttributeA != null && !string.IsNullOrEmpty(entity.AttributeA)) { strJson.Append("\"" + entity.AttributeA + "\":\"" + entity.AttributeValueA + "\","); } if (entity.title != null && !string.IsNullOrEmpty(entity.title.Replace(" ", ""))) { strJson.Append("\"title\":\"" + entity.title.Replace(" ", "") + "\","); } if (entity.img != null && !string.IsNullOrEmpty(entity.img.Replace(" ", ""))) { strJson.Append("\"img\":\"" + entity.img.Replace(" ", "") + "\","); } if (entity.checkstate != null) { strJson.Append("\"checkstate\":" + entity.checkstate + ","); } if (entity.parentId != null) { strJson.Append("\"parentnodes\":\"" + entity.parentId + "\","); } if (entity.Level != null) { strJson.Append("\"Level\":" + entity.Level + ","); } strJson.Append("\"showcheck\":" + entity.showcheck.ToString().ToLower() + ","); strJson.Append("\"isexpand\":" + entity.isexpand.ToString().ToLower() + ","); if (entity.complete == true) { strJson.Append("\"complete\":" + entity.complete.ToString().ToLower() + ","); } strJson.Append("\"hasChildren\":" + entity.hasChildren.ToString().ToLower() + ","); strJson.Append("\"ChildNodes\":" + TreeToJson(list, entity.id) + ""); strJson.Append("},"); } strJson = strJson.Remove(strJson.Length - 1, 1); } strJson.Append("]"); return strJson.ToString(); } } }