首页 > Web开发 > 详细

Json.Net学习笔记

时间:2014-09-23 13:27:25      阅读:284      评论:0      收藏:0      [点我收藏+]

官方网站: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化时选择使用子类

 

...我写给以后的自己看的

 

Json.Net学习笔记

原文:http://www.cnblogs.com/william7neral/p/3988080.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!