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
}