Как запретить Джексону сериализовать атрибут @class в списках известных типов?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как запретить Джексону сериализовать атрибут @class в списках известных типов?

Сообщение Anonymous »

Я использую Джексона в своем Java-приложении для сериализации объектов, содержащих списки известного типа. Однако Джексон добавляет атрибут @class к каждому элементу списка, который я хочу опустить. Вот пример вывода JSON:

Код: Выделить всё

[
{
"@class": "com.example.model.Resource",
"id": "Resource_1",
"version": 0,
"reference": false,
"items": [
{
"@class": "com.example.model.Item", // I want to remove this
"id": "Item01",
"version": 0,
"status": "ACTIVE",
"index": 1,
"url": "https://example.com/item/1"
},
{
"@class": "com.example.model.Item", // I want to remove this
"id": "Item02",
"version": 0,
"status": "ACTIVE",
"index": 2,
"url": "https://example.com/item/2"
}
]
}
]

Поскольку тип элементов в списке уже известен (Элемент), атрибут @class является избыточным. Как я могу настроить ObjectMapper Джексона, чтобы он не добавлял атрибут @class к элементам списка, когда их тип известен?
Дополнительная информация:
I Я использую обработку полиморфных типов в другом месте своего приложения, поэтому не могу отключить ее глобально.
Я хочу подавить атрибут @class только для определенных списков, где тип является явным.
Отключение типизации по умолчанию: я рассматривал возможность глобального отключения типизации по умолчанию с помощью mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);, но я не могу этого сделать, поскольку использую обработку полиморфных типов в другом месте приложения.>

Подробнее здесь: https://stackoverflow.com/questions/790 ... -known-typ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»