面对Gson时,匿名类和普通派生类之间的区别?

时间:2017-09-23 15:10:46

标签: java gson

当我使用Gson库时,我发现匿名类和普通派生类使用gson.toJson()导致不同的输出。这是代码(只是为了演示,忽略语法):

派生类:

class StringWrap {
    private String str = "qwerty";
}

Object derived = new StringWrap();

匿名类:

Object anonymous = new Object(){
        private String str="qwerty";
    };

事实证明,new Gson().toJson(derived)返回{"str":"qwerty"},但new Gson().toJson(anonymous)返回null

匿名类和派生类之间有什么不同吗?或者是关于Gson的事情?

1 个答案:

答案 0 :(得分:0)

Gson不支持匿名课程。 我在gson用户指南中找到了这个:https://sites.google.com/site/gson/gson-user-guide

  

内部类,匿名类和本地类中的外部类对应的字段将被忽略,不包括在序列化或反序列化中