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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构