注釈を使用してシリアル化形式を制御しようとしています。しかし、TypeAdapterまたはTypeAdapterFactoryの内部からフィールドアノテーションにアクセスする方法はないようです。注釈によるGSONコントロールのシリアル化書式設定
ここに私が達成しようとしているものの例があります。 Movieオブジェクトについては
import org.joda.time.DateTime;
public class Movie {
String title;
@DateTimeFormat("E, M d yyyy")
DateTime releaseDate;
// other fields ...
}
public class LogEvent {
String message;
@DateTimeFormat("yyyyMMdd'T'HHmmss.SSSZ")
DateTime timestamp;
}
、私は "2013年8月24日(土曜日)" としてではなく、のLogEvent、 "20130824T103025.123Z" の日付をシリアル化します。
私は
TIA(私たちは、異なるフォーマットを必要とし、その中のDateTimeフィールドに100の別のクラスを持っている場合を想像)、クラスごとに別々のTypeAdapterFactory年代を記述することなく、これをやろうとしています!
私が避けようとしているのは、各クラスでフィールドの書式を異なるようにしたいだけなので、DateTimeフィールドを含むクラスごとにカスタムアダプタを作成する必要があるということです。 ReflectiveTypeAdapterFactoryを再実装しなければ、これは可能ではないかもしれません。 – hendysg
これは、特定のアダプタではなく、 'TypeAdapterFactory'です。したがって、すべてのクラスで動作するはずです。ちょうど試して。 – PomPom