Asp.Net中JSON的序列化和反序列化-----JavaScriptSerializer
命名空间:
ASP.NET中的JSON序列化和反序列化还可以使用JavaScriptSerializer,在System.Web.Script.Serializatioin命名空间下,需引用System.Web.Extensions.dll.
实例:
class People { public int Id { get; set; } public string Name { get; set; } public DateTime Age { get; set; } }
序列化:
List<People> list = new List<People>(); People peo = new People(); peo.Id = 1; peo.Name = "zhangsan"; peo.Age = DateTime.Now; list.Add(peo);
People peo2 = new People(); peo2.Id = 2; peo2.Name = "lisi"; peo2.Age = DateTime.Now; list.Add(peo2);
JavaScriptSerializer ser = new JavaScriptSerializer();
TextBox1.Text = ser.Serialize(list);
显示结果:
[
{"Id":1,"Name":"zhangsan","Age":"\/Date(1363336335448)\/"},
{"Id":2,"Name":"lisi","Age":"\/Date(1363336335448)\/"}
]
反序列化:
string json = TextBox1.Text;
JavaScriptSerializer ser=new JavaScriptSerializer();
List<People> list = ser.Deserialize<List<People>>(json);
foreach (People peo in list) { Response.Write(peo.Name + "<br>" + peo.Id + "<br>" + peo.Age); Response.Write("<hr>"); }
前台脚本解析:
$(":submit:eq(2)").click(function () { // return false; $.getJSON("../logic/October.ashx", { code: "one" }, function (data) { $.each(data, function (key, val) { $("p").append(key + "--->>" + val + "<br>"); $.each(val, function (k, v) { $("h5").append(k+"---->>"+v+"<hr>"); }); }); }); return false; });
浙公网安备 33010602011771号