Gsonを使用して私のpojosをシリアル化/逆シリアル化し、Gsonに日付属性をunix-timestampとして構文解析/出力するように指示するクリーンな方法を探しています。 は、ここに私の試みです:Gsonの日付形式でunix-timestampsを解析/出力する
Gson gson = new GsonBuilder().setDateFormat("U").create();
PHPから来て、「U」は、解析するために使用DATEFORMAT/UNIX-タイムスタンプとして出力日付で、私の試みのコードを実行しているとき、私はこれはRuntimeException取得しています:
を不明なパターン文字 'U'
Gsonが文字「U」を定義していないフードでSimpleDateformatを使用していると仮定しています。
私はDateTypeAdapter
と書いてGsonBuilder
に登録できますが、これを達成するためのよりクリーンな方法を探しています。単にDateFormat
を変更するだけで大丈夫です。
あなたの答えはhttps://github.com/google/gson/issues/987であなたの質問を解決しています.ypuには真のGsonの方法で実装された独自のソリューションがあります(回避策ではありません)。 :)問題を閉じることができますか?ありがとう! –
@LyubomyrShaydariv私を思い出させるためのThanx。あなたの要求は満たされています。 (そしてあなたは正しいです、それはGsonが設計された方法です) – AnixPasBesoin
ああ、もう1つ注意してください。 'JsonReader.toString'は' JsonReader 'という行1の列1のパス$ 'のような人間が読める現在の' JsonReader'状態を返します。おそらくタイプミスがあり、 'in.nextString()'は実際にあなたのコードで必要なことをします。それとももっと短い: 'new Date(in.nextLong()/ 1000)'。 –