json序列化和反序列化List

 

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. using Newtonsoft.Json;  
  8.   
  9. namespace JsonDome  
  10. {  
  11.     public partial class WebForm1 : System.Web.UI.Page  
  12.     {  
  13.         protected void Page_Load(object sender, EventArgs e)  
  14.         {  
  15.             if (!IsPostBack)  
  16.             {  
  17.                 List<Students> listObj = new List<Students>() {   
  18.                     new Students {name="杨飞宰",age=25, sex="男"},  
  19.                     new Students {name="古天乐",age=44, sex="男"},  
  20.                     new Students {name="李汉平",age=25, sex="男"},  
  21.                     new Students {name="刘亦菲",age=27, sex="女"}  
  22.                 };  
  23.   
  24.                 JsonData<List<Students>> obj = new JsonData<List<Students>>();  
  25.                 obj.adminKid = 1;  
  26.                 obj.buildingKid = 10;  
  27.                 obj.appkey = "xxxxxxxxxxxxxxxxx";  
  28.                 obj.ver = "1.0";  
  29.                 obj.token = "xxxxxxxxxxxxxxxxx";  
  30.                 obj.list = listObj;  
  31.   
  32.                 //先序列化Json格式数据  
  33.                 string jsonText = JsonConvert.SerializeObject(obj);  
  34.   
  35.                 //反序列化对象  
  36.                 JsonData<List<Students>> json = JsonConvert.DeserializeObject<JsonData<List<Students>>>(jsonText);  
  37.             }  
  38.         }  
  39.     }  
  40.   
  41.     /// <summary>  
  42.     /// JSON数据类  
  43.     /// </summary>  
  44.     /// <typeparam name="T"><peparam>  
  45.     public class JsonData<T>  
  46.     {  
  47.         #region 系统参数  
  48.         public int adminKid { get; set; }  
  49.         public int buildingKid { get; set; }  
  50.         public string appkey { get; set; }  
  51.         public string ver { get; set; }  
  52.         public string token { get; set; }  
  53.         public T list { get; set; }  
  54.         #endregion  
  55.     }  
  56.   
  57.     /// <summary>  
  58.     /// 学生实体  
  59.     /// </summary>  
  60.     [Serializable]  
  61.     public class Students  
  62.     {  
  63.         public string name { get; set; }  
  64.         public int age { get; set; }  
  65.         public string sex { get; set; }  
  66.     }  
posted @ 2017-11-06 08:56  Schauspieler  阅读(4836)  评论(0编辑  收藏  举报