Tengo una clase Item
. Hay un campo itemType
dentro de esa clase que es del tipo ItemType.¿Cómo se instruye a Jackson para serializar un campo dentro de un Objeto en lugar del Objeto mismo?
aproximadamente, algo como esto.
class Item
{
int id;
ItemType itemType;
}
class ItemType
{
String name;
int somethingElse;
}
Cuando estoy serializar un objeto de tipo Item
usando Jackson ObjectMapper
, serializa el objeto ItemType
como un sub-objeto. Lo que se espera, pero no es lo que quiero.
{
"id": 4,
"itemType": {
"name": "Coupon",
"somethingElse": 1
}
}
Lo que me gustaría hacer es mostrar name
campo de la itemType
's lugar cuando serializado.
Algo como a continuación.
{
"id": 4,
"itemType": "Coupon"
}
¿Hay alguna forma de instruir a Jackson para hacerlo?
¡Gracias! Esto funcionó a la perfección! :) –
Esto funciona. Y para completar, una posibilidad relacionada es hacer que 'ItemType' implemente' JsonSerializable' (método "serialize()"). – StaxMan
No sé por qué no puedo declarar el serializador como una clase interna, me sigue dando un error. –