C# json字符串反序列化

Posted 单纯的桃子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于C# json字符串反序列化的主要内容,如果未能解决你的问题,请参考以下文章

c# 多个json字符串反序列化

将 JSON 字符串反序列化为多个 C# 对象

c# 反序列化 Json 字符串

C#反序列化Json字符串

C# JSON 反序列化

C#反序列化一个序列化的JSON字符串[关闭]