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;

 

posted @ 2017-08-05 18:45  单纯的桃子  阅读(361)  评论(0编辑  收藏  举报