C# json字符串反序列化
使用情景:开发中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;