Android Gson如果字段不';不存在于json中

Android Gson如果字段不';不存在于json中,android,gson,Android,Gson,我有这样的模型 public class testModel { public boolean a = true; public Test2 test2 = new Test2(); public class Test2 { public boolean b = true; } } 还有像这样的json { "test2":{} } 当我用Gson解析这个json时 testModel testModel = new Gson().from

我有这样的模型

public class testModel {

    public boolean a = true;
    public Test2 test2 = new Test2();

    public class Test2 {
        public boolean b = true;
    }
}
还有像这样的json

{
"test2":{}
}
当我用Gson解析这个json时

testModel testModel = new Gson().fromJson("{ \"test2\":{}}", testModel.class);
    Log.e("test", testModel.a + " " + testModel.test2.b);
日志是:

E/test: true false 
testModel.a为“true”,但testModel.test2.b为“false” 为什么Gson更改了b的默认值,而b在json中不存在? b和a的区别是什么


这是一个Gson错误吗?

我在github中问了我的问题,一位成员回答正确

答复:

TestModel有一个无参数构造函数,而Test2隐式有一个 获取TestModel的一个实例。将Test2标记为静态类,它将 工作


不我刚亲自测试过a和b都是false@SamuelRobert您的Gson版本是什么?版本
2.8.0
com.google.code.gson:gson:2.8.0
检查这个链接@SamuelRobert我刚用2.8.0测试过,但是我得到了一个true和一个false。我在一个真实的项目中也有同样的问题。