標籤:encoding mem 靜態 json blog tor 引用 get c#
使用情景:開發中JS傳遞一個Json格式的字串到後台,後台將json字串轉化成list集合
1 public static class json 2 { 3 public static List<T> JSONStringToList<T>(this string JsonStr) 4 { 5 JavaScriptSerializer Serializer = new JavaScriptSerializer(); 6 List<T> objs = Serializer.Deserialize<List<T>>(JsonStr); 7 return objs; 8 } 9 10 public static T Deserialize<T>(string json)11 {12 T obj = Activator.CreateInstance<T>();13 using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))14 {15 DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());16 return (T)serializer.ReadObject(ms);17 }18 }19 }
封裝一個json靜態類,裡面定義了兩個靜態方法,使用json還原序列化的時候只需要調用第一個方法即可:json.JSONStringToList<T>(string jsonString)
T:類型 jsonString:為json字串
這段代碼要添加幾個引用:
1 using System.Web.Script.Serialization;2 using System.IO;3 using System.Text;4 using System.Runtime.Serialization.Json;
C# json字串還原序列化