Dictionary转Json(序列化)

来源:互联网 发布:linux wps 切换输入法 编辑:程序博客网 时间:2024/06/07 19:09
Dictionary 转json
 [HttpPost]        public string GetStudent() {            Dictionary<string, object> dic = new Dictionary<string, object>();            List<Student> lst = new List<Student>() {                new Student() {Id=1,Name="张飞",Age=450,Address="涿郡人",Birther=new DateTime(1992,03,29) },//处理日期需要在实体类中标记                new Student() {Id=2,Name="赵云",Age=480,Address="常山真定",Birther= DateTime.Now},                new Student() {Id=3,Name="刘备",Age=500,Address="三国人",Birther= DateTime.Now}            };            Dictionary<string, object> dic1 = new Dictionary<string, object>();            dic1.Add("list", lst);            dic.Add("status", 200);            dic.Add("data", dic1);            dic.Add("page", 8);            dic.Add("total", 9);            return JsonConvert.SerializeObject(dic,Formatting.Indented);        }
  public class Student    {        public int Id { get; set; }        public string Name { get; set; }        public int Age { get; set; }        public int? Number { get; set; }        public string Address { get; set; }        [JsonConverter(typeof(MyDateTimeConverter))] 标记        public DateTime Birther { get; set; }    }    //转成1991-03-29 12-00-00格式    public class MyDateTimeConverter : DateTimeConverterBase    {        private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd hh-mm-ss" };        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)        {            return dtConverter.ReadJson(reader, objectType, existingValue, serializer);        }        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)        {            dtConverter.WriteJson(writer, value, serializer);        }    }    //转成1991年03月29日 12时00分00秒格式    public class MyCnDateTimeConverter : DateTimeConverterBase    {        private static IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy年MM月d日 hh时mm分ss秒" };        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)        {            return dtConverter.ReadJson(reader, objectType, existingValue, serializer);        }        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)        {            dtConverter.WriteJson(writer, value, serializer);        }    }

返回的json格式

{  "status": 200,  "data": {    "list": [      {        "Id": 1,        "Name": "张飞",        "Age": 450,        "Number": null,        "Address": "涿郡人",        "Birther": "1992-03-29 12-00-00"      },      {        "Id": 2,        "Name": "赵云",        "Age": 480,        "Number": null,        "Address": "常山真定",        "Birther": "2017-08-10 11-28-18"      },      {        "Id": 3,        "Name": "刘备",        "Age": 500,        "Number": null,        "Address": "三国人",        "Birther": "2017-08-10 11-28-18"      }    ]  },  "page": 8,  "total": 9}



阅读全文
0 0