C# Json序列化与反序列化

http://blog.csdn.net/chenbin520/article/details/8711142

我们可以通过DataContractJsonSerializer类来序列化一个对象为json字符串

[csharp]  view plain copy
  1. public class JsonConvert<T>  
  2.     {  
  3.         public static string ObjectToJson(T obj)  
  4.         {  
  5.             var serializer = new DataContractJsonSerializer(typeof(T));  
  6.             var stream = new MemoryStream();  
  7.             serializer.WriteObject(stream, obj);  
  8.   
  9.             byte[] dataBytes = new byte[stream.Length];  
  10.   
  11.             stream.Position = 0;  
  12.   
  13.             stream.Read(dataBytes, 0, (int)stream.Length);  
  14.   
  15.             string json = Encoding.UTF8.GetString(dataBytes);  
  16.   
  17.             return json;  
  18.         }  
  19.   
  20.         public static T JsonToObject(string jsonString)  
  21.         {  
  22.             DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));  
  23.             var stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));  
  24.             T t1 = (T)serializer.ReadObject(string);  
  25.   
  26.             return t1;  
  27.         }  
  28.     }  


 使用Json.NET(Newtonsoft.Json)进行序列化与反序列化

[csharp]  view plain copy
  1. List<Student> students = studentBLL.GetALL();  
  2.             string jsonStudents = JsonConvert.SerializeObject(students);  
[csharp]  view plain copy
  1. string jsonStudents = service.GetAllStudent();  
  2.            List<Student> students = JsonConvert.DeserializeObject<List<Student>>(jsonStudents);  

学习资料:http://james.newtonking.com/json/help/index.html#

你可能感兴趣的:(C# Json序列化与反序列化)