JSONHelper JSON帮助类
发布时间:2020-12-15 17:58:41 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; using System.Dat
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; using System.Data; /************************************************** * 版权所有: * 文 件 名: JSONHelper.cs * 文件描述: * 类型说明: JSONHelper JSON帮助类 * 授权声明: * 本程序为自由软件; * 您可依据自由软件基金会所发表的GPL v3授权条款,对本程序再次发布和/或修改; * 本程序是基于使用目的而加以发布,然而不负任何担保责任; * 亦无对适售性或特定目的适用性所为的默示性担保。 * 详情请参照GNU通用公共授权 v3(参见license.txt文件)。 * 版本历史: * v2.0.0 Sheng 2009-09-09 修改 ***************************************************/ /// <summary> ///JSONHelper 的摘要说明 /// </summary> public class JSONHelper { /// <summary> /// 对象转JSON /// </summary> /// <param name="obj">对象</param> /// <returns>JSON格式的字符串</returns> public static string ObjectToJSON(object obj) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Serialize(obj); } catch (Exception ex) { throw new Exception(ex.Message); } } /// <summary> /// 数据表转键值对集合 /// 把DataTable转成 List集合,存每一行 /// 集合中放的是键值对字典,存每一列 /// </summary> /// <param name="dt">数据表</param> /// <returns>哈希表数组</returns> public static List<Dictionary<string,object>> DataTableToList(DataTable dt) { List<Dictionary<string,object>> list = new List<Dictionary<string,object>>(); foreach (DataRow dr in dt.Rows) { Dictionary<string,object> dic = new Dictionary<string,object>(); foreach (DataColumn dc in dt.Columns) { dic.Add(dc.ColumnName,dr[dc.ColumnName]); } list.Add(dic); } return list; } /// <summary> /// 数据集转键值对数组字典 /// </summary> /// <param name="dataSet">数据集</param> /// <returns>键值对数组字典</returns> public static Dictionary<string,List<Dictionary<string,object>>> DataSetToDic(DataSet ds) { Dictionary<string,object>>> result = new Dictionary<string,object>>>(); foreach (DataTable dt in ds.Tables) result.Add(dt.TableName,DataTableToList(dt)); return result; } /// <summary> /// 数据表转JSON /// </summary> /// <param name="dataTable">数据表</param> /// <returns>JSON字符串</returns> public static string DataTableToJSON(DataTable dt) { return ObjectToJSON(DataTableToList(dt)); } /// <summary> /// JSON文本转对象,泛型方法 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>指定类型的对象</returns> public static T JSONToObject<T>(string jsonText) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Deserialize<T>(jsonText); } catch (Exception ex) { throw new Exception(ex.Message); } } /// <summary> /// 将JSON文本转换为数据表数据 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据表字典</returns> public static Dictionary<string,object>>> TablesDataFromJSON(string jsonText) { return JSONToObject<Dictionary<string,object>>>>(jsonText); } /// <summary> /// 将JSON文本转换成数据行 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据行的字典</returns> public static Dictionary<string,object> DataRowFromJSON(string jsonText) { return JSONToObject<Dictionary<string,object>>(jsonText); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |