码迷,mamicode.com
首页 > Web开发 > 详细

Json.Net学习笔记

时间:2014-09-23 15:42:54      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   数据   div   sp   

官方网站: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学习笔记

标签:style   blog   http   color   使用   strong   数据   div   sp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!