我試圖使用flexjson
庫。但在我的對象中,我必須使用: com.google.api.client.util.DateTime
其中沒有參數構造函數。我總是得到NoSuchMethodException
與消息:Flexjson will instantiate any protected, private, or public no-arg constructor.
我有來源,並試圖做一些事情,這裏是代碼:使用flexjson序列化對象
constructor = clazz.getDeclaredConstructor();
constructor.setAccessible(true);
return constructor.newInstance();
異常被拋出在clazz.getDeclaredConstructor()
由於缺乏空的構造。什麼是找到構造函數的最佳方法讓我們說那些簽名:
DateTime(long timestamp)
?
有沒有人會遇到這種類型的問題,這個庫?也許你可以建議使用其他的。我使用它來序列化由Google Cloud Endpoints
生成的對象。也許我可以用不同的方法做到這一點?
最好的辦法是有一個空的構造。如果它存在於json對象中,您的時間戳將在稍後設置。爲此你可以考慮擴展DateTime。 – njzk2 2013-03-12 13:49:24
njzk2,我無法擴展'DateTime',因爲它在自動生成的文件中,並且它是從'app-engine'後端的'java.util.Date'對象生成的。 – sennin 2013-03-12 14:23:18