zoukankan      html  css  js  c++  java
  • 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化时选择使用子类

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

  • 相关阅读:
    Eclipse编辑JS响应慢,复制粘贴卡顿的解决方案
    Oracle 通过字段名查询其所在的表
    spring mvc流转控制说明
    Iterable(迭代器)的用法
    spring事务配置详解
    创建第一个Hiberntae工程
    spring3.0注解
    Ext中Grid重新load设置URL
    spring框架设计理念(上)
    Eclipse快捷键大全
  • 原文地址:https://www.cnblogs.com/william7neral/p/3988080.html
Copyright © 2011-2022 走看看