将树形结构生成Json字符串

 1 /// <summary>
 2         /// 将树形结构生成Json字符串
 3         /// </summary>
 4         /// <param name="dt">传入的树形结构DataTable</param>
 5         /// <param name="childColumnName">子级ID列名</param>
 6         /// <param name="parentColumnName">父级ID列名</param>
 7         /// <param name="textColumnName">内容列列名</param>
 8         /// <param name="Id">指定的需要进行查询的顶级节点的ID</param>
 9         /// <returns>此方法的返回会在前方多出",children:"这样10个长度的字符串,使用时去掉即可</returns>
10         public static string GetTreeJson(DataTable dt, string childColumnName, string parentColumnName, string textColumnName, int Id)
11         {
12             StringBuilder sb = new StringBuilder();
13             DataRow[] drs = dt.Select(parentColumnName + "=" + Id);
14             if (drs.Length < 1)
15                 return "";
16             sb.Append(",children:[");
17             foreach (DataRow dr in drs)
18             {
19                 sb.Append("{");
20                 sb.AppendFormat("id:{0},", dr[childColumnName].ToString());
21                 sb.AppendFormat("text:'{0}'", dr[textColumnName].ToString());
22                 sb.Append(GetTreeJson(dt, childColumnName, parentColumnName, textColumnName, (int)dr[childColumnName]).TrimEnd(','));
23                 sb.Append("},");
24             }
25             if (sb.ToString().EndsWith(","))
26             {
27                 sb.Remove(sb.Length - 1, 1);
28             }
29             sb.Append("]");
30             return sb.ToString();
31         }

使用时str = str.Substring(10); 去掉前10个长度的字符串

转载于:https://www.cnblogs.com/nicky0227/p/4125733.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值