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

原文地址:https://www.cnblogs.com/socialdk/p/2744111.html