全部 ,
Gson 给了我很多启发,现在我要扩展 Gson 以构建具有一些自定义默认值的任何其他类型的对象。我应该重写 Gson 的哪一部分?我真的很想重用 Gson 反射和支持的基本类型。但是我在查看 Gson 的源代码后发现,基于当前 Gson 的设计,有一些困难。
现在我的要求可以表示如下:
我定义了一个 POJO 类,例如:
测试输入参数类:
public class TestInputParam{
private Date startTime;
private String name;
private int num;
//setters and gettters
}
要求 :
GsonEx<TestInputParam> gsonEx = new GsonEx<TestInputParam>();
TestInputParam defaultParam = gsonEx.build(TestInputParam.class)
System.out.println(new Gson().toJson(defaultParam));
结果:
It should output this object default value .
笔记:
我的理解是: new Gson().fromJson(stringContent, type) 通过 JsonReader 用 StringContent 值构建其对应的对象,只需扩展它就可以通过一些默认值或随机值构建其对应的对象。不要让它的字段值来自 stringContent 。