zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    泛型接口(C# 编程指南) From MSDN
    不知道是不是心理作用,我怎么觉得在Fedora下写cnblogs比Windows下快。
    VS.NET 2005真是太好用了!
    写了个打字游戏,可是有问题(C#)
    C#多线程测试
    关于继承的一个小程序
    VS.NET 2008 试用
    基本排序算法及分析(二):冒泡排序
    基本排序算法及分析(三):shell排序
    [导入]一维数组输出杨辉三角形
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5217777.html
Copyright © 2011-2022 走看看