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。我在一个真实的项目中也有同样的问题。