1 public class JsonHelper 2 { 3 4 #region Json序列化與反序列化 5 6 /// <summary> 7 /// 將json轉化為對象 8 /// (需要提前構造好結構一致的Model接取數據,且同名字段才可接取數據) 9 /// </summary> 10 /// <typeparam name="T">對象類型</typeparam> 11 /// <param name="json">Json字符串</param> 12 /// <returns></returns> 13 public T ConvertJsonToObject<T>(string json) 14 { 15 try 16 { 17 DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); //傳入對象類型 18 MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(json)); //把Json傳入內存流中保存 19 T obj = (T)serializer.ReadObject(stream); //使用ReadObject方法反序列化成對象 20 return obj; 21 } 22 catch(Exception ex) { throw ex; } 23 24 } 25 26 /// <summary> 27 /// 將對象轉化為Json 28 /// </summary> 29 /// <param name="obj"></param> 30 /// <returns></returns> 31 public string ConvertObjectToJson(object obj) 32 { 33 try 34 { 35 string jsonStr = JsonConvert.SerializeObject(obj); //序列化對象 36 return jsonStr; 37 } 38 catch(Exception ex) { throw ex; } 39 } 40 41 #endregion
注:所用的為using Newtonsoft.Json,需要在VS包管理器下載安裝