asp.net的JSON数据进行序列化和反序列化

先要引用在程序集 System.Web.Extensions.dll 的类库,在类中 using System.Web.Script.Serialization 命名空间。

1、定义一个强类型的类(model):

 
  
1     [Serializable]
2     public class Person
3     {
4         public int Age { get; set; }
5         public string Name { get; set; }
6     }
View Code
 
 

2、将对象 序列化 成json字符串方法

 1     #region 将对象 序列化 成json字符串
 2         /// <summary>
 3         /// 将对象 序列化 成json字符串
 4         /// </summary>
 5         /// <param name="obj">需要序列化的对象</param>
 6         /// <returns>返回序列化json的对象</returns>
 7         public string ObjSerializableJson(object obj)
 8         {
 9             string result = null;
10             JavaScriptSerializer javaScript = new JavaScriptSerializer();
11             result = javaScript.Serialize(obj);
12             return result;
13         } 
14         #endregion
View Code

3、将json格式的字符串 反序列化 成对象方法

 1     #region 将json格式的字符串 反序列化 成对象
 2         /// <summary>
 3         /// 将json格式的字符串 反序列化 成对象
 4         /// </summary>
 5         /// <typeparam name="T">对象类型</typeparam>
 6         /// <param name="jsonStr">json字符串</param>
 7         /// <returns>返回 T 类型的对象</returns>
 8         public T ContraSerializableJson<T>(string jsonStr)
 9         {
10             JavaScriptSerializer javaScript = new JavaScriptSerializer();
11             return javaScript.Deserialize<T>(jsonStr);
12         } 
13         #endregion
View Code

使用例子:

1  List<Person> list = new List<Person>()
2             {
3                 new Person() { Age = 0, Name = "张三" }, 
4                 new Person() { Age = 1, Name = "李四" }, 
5                 new Person() { Age = 2, Name = "小二" }
6             };
7             string json = ObjSerializableJson(list);  //得到序列化json字符串
8 
9             List<Person> listJson = ContraSerializableJson<List<Person>>(json); //得到 将对象反序列化的对象
View Code

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值