zoukankan      html  css  js  c++  java
  • EasyUIDataGrid 的List<T>转Json

    EasyUI的DataGrid的Json自己拼接的话非常麻烦,而且容易出错,于是写了个通用的方法!
    CustomList<T>自定义类,继承于List<T>,用来处理返回的实体的总记录数和实体集合,其中属性 RecordAmout为总记录统计
    JavaScriptSerializer .Net 4.0 提供的json转换方法
    JavaScriptSerializer转换时间格式 "\/Date(1356019200000)\/" 默认转换为UTC格式,这样我们就需要一个小小的转换(利用正则)
    sJSON = System.Text.RegularExpressions.Regex.Replace(sJSON, @"\\/Date\((\d+)\)\\/", match =>
                {
                    DateTime dt = new DateTime(1970, 1, 1);
                    dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
                    dt = dt.ToLocalTime();
                    return dt.ToString(dateTimeFormatString);
                });
     
    /// <summary>
            /// CustomList转为EasyUI的DataGrid的Json格式
            /// </summary>
            /// <param name="cList"></param>
            /// <returns></returns>
            public static string CustomList2EasyUIDataGridJson<T>(CustomList<T> cList, string dateTimeFormatString = "yyyy-MM-dd HH:mm:ss")
            {
                System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
                jsonBuilder.Append("{");
                jsonBuilder.AppendFormat("\"total\":{0}, ", cList.RecordAmout);
                jsonBuilder.Append("\"rows\": ");
                JavaScriptSerializer oSerializer = new JavaScriptSerializer();
                string sJSON = oSerializer.Serialize(cList);
                sJSON = System.Text.RegularExpressions.Regex.Replace(sJSON, @"\\/Date\((\d+)\)\\/", match =>
                {
                    DateTime dt = new DateTime(1970, 1, 1);
                    dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
                    dt = dt.ToLocalTime();
                    return dt.ToString(dateTimeFormatString);
                });
    
                jsonBuilder.Append(sJSON);
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("]");
                jsonBuilder.Append("}");
                return jsonBuilder.ToString();
            }
    

      

    转载请标注http://www.cnblogs.com/xushaonian/p/3246254.html

    鞋子http://xiaobenxie.taobao.com

    杯子http://988777.taobao.com

  • 相关阅读:
    Jenkins安装
    Python操作yaml文件
    class 中构造函数与析构函数
    python发送邮件(yagmail模块)
    filter、map函数的区别
    python redis操作
    多个 python的pip版本选择
    python Excel操作
    python MD5操作
    缓存淘汰算法之LRU实现
  • 原文地址:https://www.cnblogs.com/xushaonian/p/3246254.html
Copyright © 2011-2022 走看看