Json.Net学习笔记
官方网站:http://james.newtonking.com/json
Json.Net是.net环境下操作json数据的首选工具,速度快,操作简单,一般简单的操作,一看就会了
实验一:一个待序列化类中哪些属性会被json化?
public class ClassA { private string s; public ClassA() { s = "10"; } } ClassA a = new ClassA(); string str = JsonConvert.SerializeObject(a); Console.WriteLine(str); //输出: {}
public class ClassA { public string s; public ClassA() { s = "10"; } } ClassA a = new ClassA(); string str = JsonConvert.SerializeObject(a); Console.WriteLine(str); //输出:{"s":"10"}
public class ClassA { private string s; public string S { get { return s; } } public ClassA() { s = "10"; } } ClassA a = new ClassA(); string str = JsonConvert.SerializeObject(a); Console.WriteLine(str); //输出: {"S":"10"}
结论一:所有public的属性和变量都会被Json化
实验二:若存在类的继承关系,序列化时是否能识别到子类?
public class ClassA { public string S { get { return "10"; } } } public class ClassB:ClassA { public string S2 { get { return "20"; } } } ClassA a = new ClassB(); string str = JsonConvert.SerializeObject(a); Console.WriteLine(str); //输出:{"S2":"20","S":"10"}
List<ClassA> list = new List<ClassA>(); list.Add(new ClassA()); list.Add(new ClassB()); string str = JsonConvert.SerializeObject(list); Console.WriteLine(str); //输出: [{"S":"10"},{"S2":"20","S":"10"}]
结论二:当存在继承时,json化时选择使用子类
...我写给以后的自己看的
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。