C#对象转JSON字符串和JSON字符串转对象
发布时间:2020-12-15 17:58:45 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 C#对象转JSON字符串和JSON字符串转对象 ? /* 创建者:菜刀居士的博客 * 创建日期: 2014年09月03号 * 功能: Json操作 * */ namespace Net.String.Cons
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
C#对象转JSON字符串和JSON字符串转对象
? /* 创建者:菜刀居士的博客 * 创建日期: 2014年09月03号 * 功能: Json操作 * */ namespace Net.String.ConsoleApplication { using System; using System.Data; using System.Collections; using System.ComponentModel; using System.Collections.Generic; using System.Web.Script.Serialization; public class JsonHelper { /// <summary> /// 把json字符串转成对象 /// </summary> /// <typeparam name="T">对象</typeparam> /// <param name="data">json字符串</param> public static T Deserialize<T>(string data) { System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer(); return json.Deserialize<T>(data); } /// <summary> /// 把对象转成json字符串 /// </summary> /// <param name="o">对象</param> /// <returns>json字符串</returns> public static string Serialize(object o) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer(); json.Serialize(o,sb); return sb.ToString(); } /// <summary> /// 把DataTable对象转成json字符串 /// </summary> public string ToJson(DataTable dt) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); ArrayList arrayList = new ArrayList(); foreach (DataRow dataRow in dt.Rows) { Dictionary<string,object> dictionary = new Dictionary<string,object>(); foreach (DataColumn dataColumn in dt.Columns) { dictionary.Add(dataColumn.ColumnName,dataRow[dataColumn.ColumnName]); } arrayList.Add(dictionary); } return javaScriptSerializer.Serialize(arrayList); } } public static class EnumerableExtension { /// <summary> /// 集合添加一个对象 /// </summary> public static IEnumerable<T> Add<T>(this IEnumerable<T> e,T value) { foreach (var cur in e) { yield return cur; } yield return value; } /// <summary> /// 把集合转成DataTable /// </summary> public static DataTable ConvertToDataTable<T>(this IEnumerable<T> enumerable) { var dataTable = new DataTable(); foreach (PropertyDescriptor pd in TypeDescriptor.GetProperties(typeof(T))) { dataTable.Columns.Add(pd.Name,pd.PropertyType); } foreach (T item in enumerable) { var Row = dataTable.NewRow(); foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T))) { Row[dp.Name] = dp.GetValue(item); } dataTable.Rows.Add(Row); } return dataTable; } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |