Ich habe eine Item
Klasse. Innerhalb dieser Klasse gibt es ein itemType
Feld vom Typ ItemType.Wie man Jackson anweist, ein Feld in einem Objekt statt des Objekts selbst zu serialisieren?
grob, so etwas wie das.
class Item
{
int id;
ItemType itemType;
}
class ItemType
{
String name;
int somethingElse;
}
Wenn ich ein Objekt vom Typ Item
mit Jackson ObjectMapper
am Serialisierung serialisiert es das Objekt ItemType
als Unterobjekt. Was erwartet wird, aber nicht was ich will.
{
"id": 4,
"itemType": {
"name": "Coupon",
"somethingElse": 1
}
}
Was würde ich tun möchte, ist die itemType
‚s name
Feld statt zu zeigen, wenn serialisiert.
Etwas wie unten.
{
"id": 4,
"itemType": "Coupon"
}
Gibt es trotzdem eine Anweisung an Jackson, dies zu tun?
Vielen Dank! Das hat perfekt funktioniert! :) –
Das funktioniert. Und aus Gründen der Vollständigkeit besteht eine verwandte Möglichkeit darin, "ItemType" zu implementieren "JsonSerializable" (Methode "serialize()"). – StaxMan
Ich weiß nicht, warum ich den Serializer nicht als innere Klasse deklarieren kann, es gibt mir einen Fehler. –