全部,如何將Gson擴展爲構造函數併爲任何類型生成默認對象?
Gson激發了我很多,現在我該如何擴展Gson來構建具有某種自定義默認值的任何其他類型的對象。我應該重寫Gson的哪個部分?我真的想重用Gson反射並支持基本類型。但是我發現,在回顧其源代碼之後,基於當前Gson的設計,有一些難以做到的事情。
現在我的要求可以如下表示:
我定義了一個POJO類,如:
TestInputParam.class:
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 .
注:
我的理解是:新GSON()fromJson(的StringContent,類型)構建其相應的對象與JsonReader的StringContent價值,只是擴展它可以通過一些默認或隨機值構建其相應的對象。不要讓它的字段值來自stringContent。
對不起,我不明白。如果JSON字符串爲空,是否要求返回具有默認值的對象? – giampaolo
不,我的意思是如何將Gson擴展爲基於其類型的對象構建器。這意味着自動填充一種類型的對象作爲我們在價值工廠定製的一些值。或一些隨機值。 –