C# Json序列化与反序列化

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

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

[csharp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  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 在CODE上查看代码片 派生到我的代码片
  1. List<Student> students = studentBLL.GetALL();  
  2.             string jsonStudents = JsonConvert.SerializeObject(students);  
[csharp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. string jsonStudents = service.GetAllStudent();  
  2.            List<Student> students = JsonConvert.DeserializeObject<List<Student>>(jsonStudents);  

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值