国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JSON 對象互轉

2019-11-17 02:23:46
字體:
來源:轉載
供稿:網友

JSON 對象互轉

以前寫過用反射,轉換,后來覺得有很大漏洞,最近發現有人寫過這個help類,所以保存下來

public class JSONHelper { /// <summary> /// DataRow轉JSON /// </summary> /// <param name="row">DataRow</param> /// <returns>JSON格式對象</returns> public static object DataRowToJSON(DataRow row) { Dictionary<string, object> dataList = new Dictionary<string, object>(); foreach (DataColumn column in row.Table.Columns) { dataList.Add(column.ColumnName, row[column]); }

return ObjectToJSON(dataList); }

/// <summary> /// DataRow轉對象,泛型方法 /// </summary> /// <typeparam name="T">類型</typeparam> /// <param name="row">DataRow</param> /// <returns>JSON格式對象</returns> public static T DataRowToObject<T>(DataRow row) { return JSONToObject<T>(DataRowToJSON(row).ToString()); }

/// <summary> /// DataRow轉對象,泛型方法 /// </summary> /// <typeparam name="T">類型</typeparam> /// <param name="table">DataTable</param> /// <returns>JSON格式對象</returns> public static List<T> DataTableToList<T>(DataTable table) { return JSONToList<T>(DataTableToJSON(table).ToString()); } /// <summary> /// DataRow轉對象,泛型方法 /// </summary> /// <typeparam name="T">類型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>JSON格式對象</returns> public static List<T> JSONToList<T>(string jsonText) { return JSONToObject<List<T>>(jsonText); }

/// <summary> /// 對象轉JSON /// </summary> /// <param name="obj">對象</param> /// <returns>JSON格式的字符串</returns> public static object ObjectToJSON(object obj) { try { JsonSerializerSettings jset = new JsonSerializerSettings(); jset.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; jset.Converters.Add(new IsoDateTimeConverter { DateTimeFormat = "yyyy'/'MM'/'dd' 'HH':'mm':'ss" }); return JsonConvert.SerializeObject(obj, jset); } catch (Exception ex) { throw new Exception("JSONHelper.ObjectToJSON(): " + ex.Message); } } /// <summary> /// 數據表轉JSON /// </summary> /// <param name="dataTable">數據表</param> /// <returns>JSON字符串</returns> public static object DataTableToJSON(DataTable dataTable) { return ObjectToJSON(dataTable); }

/// <summary> /// JSON文本轉對象,泛型方法 /// </summary> /// <typeparam name="T">類型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>指定類型的對象</returns> public static T JSONToObject<T>(string jsonText) { try { return JsonConvert.DeserializeObject<T>(jsonText.Replace("undefined", "null")); } catch (Exception ex) { throw new Exception("JSONHelper.JSONToObject(): " + ex.Message); } }

/// <summary> /// JSON文本轉對象 /// </summary> /// <param name="jsonText">JSON文本</param> /// <param name="type">類型</param> /// <returns>指定類型的對象</returns> public static object JSONToObject(string jsonText, Type type) { try { return JsonConvert.DeserializeObject(jsonText.Replace("undefined", "null"), type); } catch (Exception ex) { throw new Exception("JSONHelper.JSONToObject(): " + ex.Message); } }

/// <summary> /// [{column1:1,column2:2,column3:3},{column1:1,column2:2,column3:3}] /// </summary> /// <param name="strJson">Json字符串</param> /// <returns>DataTable</returns> public static DataTable JSONToDataTable(string strJson) { return JsonConvert.DeserializeObject(strJson, typeof(DataTable)) as DataTable; } }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳池县| 钦州市| 郓城县| 高雄市| 当涂县| 博白县| 高平市| 益阳市| 扬中市| 吴旗县| 彭泽县| 辽源市| 杭锦旗| 宁海县| 鄂伦春自治旗| 宁都县| 扶余县| 静宁县| 宕昌县| 西充县| 喀喇| 桑植县| 沭阳县| 昭觉县| 调兵山市| 泽州县| 苗栗县| 交城县| 镇赉县| 华安县| 钦州市| 高唐县| 饶平县| 西林县| 紫金县| 孟连| 井陉县| 马山县| 浦东新区| 高要市| 普兰县|