国产探花免费观看_亚洲丰满少妇自慰呻吟_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; } }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中江县| 合水县| 贞丰县| 新余市| 闽清县| 乐昌市| 明水县| 册亨县| 汾西县| 来宾市| 泾阳县| 同仁县| 昭觉县| 南昌县| 花莲县| 黄平县| 芦溪县| 兰州市| 长白| 营山县| 济宁市| 宣恩县| 如东县| 林周县| 绿春县| 东乌珠穆沁旗| 深圳市| 苗栗县| 沭阳县| 湖口县| 肃宁县| 全南县| 江阴市| 巴林右旗| 屏南县| 肃南| 上虞市| 乐安县| 揭东县| 旬阳县| 双峰县|