Как я могу заставить Джексона не относиться к своему классу как к карте? - PullRequest
1 голос
/ 24 февраля 2012

Я использую Джексона для сериализации пользовательского класса, который реализует Map<String, String>.Но за кулисами это на самом деле Map<String, String[]> (этот класс представляет параметры HTTP-запроса), и я хотел бы, чтобы Джексон его сериализовал так, как будто это Map<String, String[]>.Я думал, что аннотация JsonValue была бы идеальной для этого (я бы аннотировал метод, который возвращает внутренний Map<String, String[]>), но Джексон, кажется, игнорирует его.Как я могу отключить обработку этого класса в стиле Map и сделать его сериализованным как POJO или с помощью аннотации JsonValue?

1 Ответ

1 голос
/ 24 февраля 2012

Ваш лучший выбор - настраиваемый сериализатор / десериализатор, поскольку у Джексона нет возможности узнать, что ваша Карта "притворяется" (т.е. ее подпись неверна).

Но если @JsonValue не работает, это звучит как ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...