CollatingOfData 之 JsonHelper
2015-12-31 09:15
549 查看
1
2
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Collections; using System.Web.Script.Serialization; /// <summary> ///JsonHelper 的摘要说明 /// </summary> public class JsonHelper { public JsonHelper() { // //TODO: 在此处添加构造函数逻辑 // } #region Json 与 DataTable 的相互转换 /// <summary> /// Json 字符串转换为DataTable数据集合 /// </summary> /// <param name="strJson">待转换的Json字符串</param> /// <returns>返回DataTable集合</returns> public static DataTable JsonToDataTable(string strJson) { DataTable dt = new DataTable(); //实例化 JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(strJson); if (arrayList.Count > 0) { foreach (Dictionary<string, object> dic in arrayList) { if (dic.Keys.Count<string>() == 0) { return dt; } if (dt.Columns.Count == 0) { foreach (string key in dic.Keys) { dt.Columns.Add(key, dic[key].GetType()); } } DataRow dataRow = dt.NewRow(); foreach (string key in dic.Keys) { dataRow[key] = dic[key]; } dt.Rows.Add(dataRow); //循环添加行到DataTable中 } } return dt; } /// <summary> /// DataTable 对象 转换为Json 字符串 /// </summary> /// <param name="dt">带转换的DataTable数据集合</param> /// <returns>返回Json字符串</returns> public static string DataTableToJson(DataTable dt) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = new ArrayList(); foreach (DataRow dataRow in dt.Rows) { Dictionary<string, object> dic = new Dictionary<string, object>(); //实例化一个参数集合 foreach (DataColumn dataColumn in dt.Columns) { dic.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString()); } arrayList.Add(dic); //ArrayList集合中添加键值 } return javaScriptSerializer.Serialize(arrayList); //返回一个json字符串 } #endregion Json 与 DataTable 的相互转换 }
2
相关文章推荐
- jsp中变量及方法的声明与使用
- 解决JS无法调用Controller问题的方法
- javascript中的执行环境及作用域
- [转]JavaScript字符串函数大全
- 简单谈谈JavaScript的同步与异步
- 分享一个通过面向对象方式完成的拖拽功能
- 三门问题JS
- js(二)
- jsp中变量及方法的声明与使用
- 简单谈谈JavaScript的同步与异步
- 解决JS无法调用Controller问题的方法
- 详解javascript高级定时器
- javascript图片延迟加载实现方法及思路
- javascript数据类型验证方法
- 分享几种比较简单实用的JavaScript tabel切换
- javascript实现input file上传图片预览效果
- 常见的javascript跨域通信方法
- 21个值得收藏的Javascript技巧
- highlight.js在项目中的使用
- JSON.parse()方法