JavaScriptSerializer:
应对 Json.NET 使用序列化和反序列化。 为启用 AJAX 的应用程序提供序列化和反序列化功能。
命名空间: System.Web.Script.Serialization
程序集: System.Web.Extensions.dll
JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据。 您无法访问序列化程序的此实例。 但是,此类公开了公共 API。 因此,当您希望在托管代码中使用 JavaScript 对象符号 (JSON) 时可以使用此类。
若要序列化对象,请使用 Serialize 方法。 若要反序列化 JSON 字符串,请使用 Deserialize 或 DeserializeObject 方法。 若要序列化和反序列化 JavaScriptSerializer 本身不支持的类型,请使用 JavaScriptConverter 类来实现自定义转换器。 然后,使用 RegisterConverters 方法注册转换器。
13 List<Person> persons = new List<Person>{ 14 new Person("wolfy",24,Convert.ToDateTime("1989-04-11")), 15 new Person("张三",23,Convert.ToDateTime("1990-04-11")), 16 new Person("李四",22,Convert.ToDateTime("1991-04-11")), 17 new Person("王五",21,Convert.ToDateTime("1992-04-11")) 18 }; 19 //创建JavaScriptSerializer对象 20 JavaScriptSerializer jss = new JavaScriptSerializer(); 21 //调用序列化方法Serialize 22 string json = jss.Serialize(persons); 23 Console.WriteLine("上面是序列化....."); 24 Console.WriteLine(json); 25 Console.WriteLine("以下是反序列化....."); 26 JavaScriptSerializer jss2 = new JavaScriptSerializer(); 27 List<Person> list = jss2.Deserialize<List<Person>>(json); 28 foreach (Person item in list) 29 { 30 Console.WriteLine(item.Name + "\t" + item.Age.ToString() + "\t" + item.Birthday); 31 } 32 33 Console.Read();
JsonConvert.SerializeObject:
JsonConvert.SerializeObject() 输出josn格式 也就是序列化。
List<T> list = m.FillModel(dt);
string json = JsonConvert.SerializeObject(new { data =list });
context.Response.Write(json);