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
  • 相关阅读:
    MySql查询分页数据
    出现不不能引java.util.Date包的情况
    类的反射实例(servlet的抽取)
    关于C++ const 的全面总结
    教你用笔记本破解无线路由器password
    使用 HTML5 webSocket API实现即时通讯的功能
    用户研究经验分享
    我的学习笔记_Windows_HOOK编程 2009-12-03 11:19
    用户參与记录存储的演变
    IC芯片
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5217777.html
Copyright © 2011-2022 走看看