分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

JsonParse类

发布时间:2023-09-06 01:17责任编辑:胡小海关键词:暂无标签
using System.Data;using Newtonsoft.Json;using Newtonsoft.Json.Converters;using System;using System.Text;namespace es.Common{ ???public class JsonParse : IDisposable ???{ ???????#region 释放资源 ???????bool dis; ???????public void Dispose() ???????{ ???????????Dispose(true); ???????????GC.SuppressFinalize(this); ???????} ???????protected virtual void Dispose(bool disposing) ???????{ ???????????if (dis) return; ???????????if (disposing) ???????????????dis = true; ???????} ???????~JsonParse() { Dispose(false); } ???????#endregion ???????/// <summary> ???????/// DataTable转换为json ???????/// </summary> ???????/// <param name="dt"></param> ???????/// <returns></returns> ???????public string ToJson(DataTable dt) ???????{ ???????????if (dt != null && dt.Rows.Count > 0) return JsonConvert.SerializeObject(dt, new DataTableConverter(), new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd" }); ???????????else return null; ???????} ???????/// <summary> ???????/// DataTable转换为json ???????/// </summary> ???????/// <param name="dt"></param> ???????/// <param name="format">时间格式:默认:“yyyy-MM-dd hh:mm:ss”</param> ???????/// <returns></returns> ???????public string ToJson(DataTable dt, string format) ???????{ ???????????format = string.IsNullOrEmpty(format) ? "yyyy-MM-dd hh:mm:ss" : format; ???????????if (dt != null && dt.Rows.Count > 0) return JsonConvert.SerializeObject(dt, new DataTableConverter(), new IsoDateTimeConverter { DateTimeFormat = format }); ???????????else return null; ???????} ???????/// <summary> ???????/// 表格形式转换为json ???????/// </summary> ???????/// <param name="dt"></param> ???????/// <param name="total"></param> ???????/// <returns></returns> ???????public string ToTablePage(DataTable dt, int total) ???????{ ???????????if (total > 0 && dt.Rows.Count > 0) return "{\"total\":" + total + ",\"content\":" + this.ToJson(dt) + "}"; ???????????else return null; ???????} ???????/// <summary> ???????/// layui框架table模块数据转换为json ???????/// </summary> ???????/// <param name="dt"></param> ???????/// <param name="count"></param> ???????/// <returns></returns> ???????public string ToLayuiTable(DataTable dt, int count) ???????{ ???????????if (count > 0 && dt.Rows.Count > 0) return "{\"code\":0,\"msg\":\"\",\"count\":" + count + ",\"data\":" + this.ToJson(dt) + "}"; ???????????else return "{\"code\":-1,\"msg\":\"没有符合条件的记录\",\"count\":0,\"data\":[]}"; ???????} ???????/// <summary> ???????/// layui框架table模块数据转换为json ???????/// </summary> ???????/// <param name="dt"></param> ???????/// <param name="count"></param> ???????/// <param name="format"></param> ???????/// <returns></returns> ???????public string ToLayuiTable(DataTable dt, int count, string format) ???????{ ???????????if (count > 0 && dt.Rows.Count > 0) return "{\"code\":0,\"msg\":\"\",\"count\":" + count + ",\"data\":" + this.ToJson(dt, format) + "}"; ???????????else return "{\"code\":-1,\"msg\":\"没有符合条件的记录\",\"count\":0,\"data\":[]}"; ???????} ???????/// <summary> ???????/// 获得带有children的json字符串,字段里必须有(id,pid)两个字段 ???????/// </summary> ???????/// <param name="dt">DataTable</param> ???????/// <param name="id">父级id</param> ???????/// <returns></returns> ???????public string ToChildren(DataTable dt, int id) ???????{ ???????????if (dt != null && dt.Rows.Count > 0) ???????????{ ???????????????DataRow[] rows = dt.Select("pid=" + id); ???????????????if (rows.Length == 0) return string.Empty; ???????????????StringBuilder str = new StringBuilder(); ???????????????foreach (DataRow row in rows) ???????????????{ ???????????????????str.Append("{"); ???????????????????for (int i = 0; i < row.Table.Columns.Count; i++) ???????????????????{ ???????????????????????if (row.Table.Columns[i].ColumnName != "pid") ???????????????????????{ ???????????????????????????if (i != 0) str.Append(","); ???????????????????????????str.Append("\""); ???????????????????????????str.Append(row.Table.Columns[i].ColumnName); ???????????????????????????str.Append("\":\""); ???????????????????????????str.Append(row[i]); ???????????????????????????str.Append("\""); ???????????????????????} ???????????????????} ???????????????????if (ToChildren(dt, (int)row["id"]).Length > 0) ???????????????????{ ???????????????????????str.Append(",\"children\":"); ???????????????????????str.Append(ToChildren(dt, (int)row["id"])); ???????????????????????str.Append("},"); ???????????????????} ???????????????????else ???????????????????{ ???????????????????????str.Append("},"); ???????????????????} ???????????????} ???????????????string json = str[str.Length - 1] == ‘,‘ ? str.ToString(0, str.Length - 1) : str.ToString(); ???????????????return "[" + json + "]"; ???????????} ???????????else ???????????{ ???????????????return null; ???????????} ???????} ???}}

JsonParse类

原文地址:http://www.cnblogs.com/hllive/p/7658607.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved