Json序列化與反序列化(對象與Json字符串的轉換)--C#


 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包管理器下載安裝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM