私はItem
クラスを持っています。そのクラスの内部には、ItemType型のフィールドがあります(itemType
)。ジャクソンにオブジェクトの代わりにフィールドのシリアル化を指示する方法
おおよそ、このようなものです。
class Item
{
int id;
ItemType itemType;
}
class ItemType
{
String name;
int somethingElse;
}
私はジャクソンObjectMapper
を使用してタイプItem
のオブジェクトをシリアル化しています、それはサブオブジェクトとしてItemType
をシリアル化します。期待されているが、私が望むものではない。私がやりたい何
{
"id": 4,
"itemType": {
"name": "Coupon",
"somethingElse": 1
}
}
は連載時に代わりにitemType
のname
フィールドを表示することです。
次のようなものです。
{
"id": 4,
"itemType": "Coupon"
}
とにかくジャクソンに指示することはありますか?
ありがとうございました!これは完全に機能しました! :) –
これは動作します。完全性のために、関連する可能性は 'ItemType'に' JsonSerializable'(メソッド "serialize()"を実装させることです)。 – StaxMan
なぜ内部クラスとしてシリアライザを宣言できないのかわかりませんが、それは私にエラーを与え続けます。 –