良い時間!
そのようなクラスがあるとしましょう:
public class Individual {
@JsonProperty("passport")
private Passport passport;
// getters ans setters
}
使用例は 2 つあります。まず、収入/発信 json が短い形式でなければならない場合:
{
individual:{
passport:'123456789' <-- this is the indentifier
}
}
2 番目 - 拡張フォーマット:
{
individual:{
passport:{
series:'1234',
number:'1234'
}
}
}
このようなケースを処理するには、 IndividualShとIndividualExtなどの 2 つのクラスを作成し、 注釈@JsonSerializer
を使用@JsonDeserializer
して入出力をカスタマイズすることができます。個別のクラスには多くのフィールドがあり、その半分をカスタマイズする必要があるため、1 つのみのクラスを維持するために別の方法を試してみたいと思います。最初のアイデアは、いくつかのシリアライザー/デシリアライザーとファクトリを作成することです。これは、たとえば javassist ライブラリを使用して、必要なシリアライザー/デシリアライザーの注釈で問題のフィールドをマークしますが、オーバーヘッドのようです。
jlabedo hereによる素晴らしい例がありますが、私の状況での使用方法がわかりません。
正しい方法で行う方法を提案してください。前もって感謝します。