2

を使用して、絶対に私の方法でjsonプロパティ(フィールド)を逆シリアル化する必要がありますorg.codehaus.jackson。カスタムオプションについては知ってい@JsonDeserializerますが、これは、配列の特定の値を逆シリアル化する必要がある場合にのみ役立ちます。配列の値と配列自体を逆シリアル化する必要があります。具体的には、ORMLite から逆シリアル化する必要があるため、プログラムで値を作成して追加ForreignCollectionできるはずです。ForeignCollectionField

@JsonProperty
@ForeignCollectionField
private ForeignCollection<PerformerLocalized> localized;

それを管理する方法はありますか?

4

1 に答える 1

3

@JsonDeserialize次のように、コンテナーと値の両方を使用できます。

@JsonDeserialize(using=MyContainerDeserializer.class, // this would apply to Collection
   contentUsing=ValueDeserializer.class) // and this to value type

Collection通常、デシリアライザーは値を処理せず、委任するだけであることに注意してください(物事をうまくモジュール化するため)。ただし、デシリアライザーを別の方法で選択できることは明らかです。委任するか、直接対処します。デリゲートしたい場合は、デリゲートされContextualDeserializerたデシリアライザーを解決できるように、おそらくインターフェイスを実装する必要があります。

于 2012-09-13T16:14:56.100 に答える