Newtonsoft.Json序列化反序列化基础
首先需要去下载Newtonsoft.Json.dll这个东西,这个是一个很好的功能很强大的dll。可以用TOOLS中的Libary Package Manager中的Package Manager Console输入Install-Package Newtonsoft.Json来直接下载。装完后就可以添加引用:
using Newtonsoft.Json; using Newtonsoft.Json.Converters;
然后是一个最简单的字符串的系列化反序列化应用:
View Code
class Program { static void Main(string[] args) { var person = new Student(); person.Name = "DK"; person.Number = 084832184; string str = JsonConvert.SerializeObject(person); Console.WriteLine(str); var dstr=JsonConvert.DeserializeObject<Student>(str); Console.WriteLine(dstr.Name+":"+dstr.Number); } } public class Student { public string Name { get; set; } public int Number { get; set; } }
还有一个List的序列化和反序列化的应用,不过貌似和上面是差不多的东西= =,也记录一下吧~
View Code
static void Main(string[] args) { List<Student> list = new List<Student>(); list.Add(new Student{Name = "DK", Number = 084832184}); string str=JsonConvert.SerializeObject(list,Formatting.Indented); Console.WriteLine(str); var dstr=JsonConvert.DeserializeObject<List<Student>>(str); foreach(var each in dstr){ Console.WriteLine(each.Name+":"+each.Number); } } } public class Student { public string Name { get; set; } public int Number { get; set; } }
我上面写的只是最基础的东西。还有一些内容如通过属性标签自定义JSON序列化,序列化回调方法修饰标签,序列化错误处理。可以参考下面的几篇BLOG:
http://www.cnblogs.com/jams742003/archive/2009/12/24/1631587.html
http://www.cnblogs.com/jams742003/archive/2009/12/25/1631900.html
http://www.cnblogs.com/jams742003/archive/2009/12/25/1632080.html