JSON Jackson Общие ссылки - PullRequest
       6

JSON Jackson Общие ссылки

6 голосов
/ 23 января 2012

У меня есть объект, на который ссылаются два других объекта

Я использую Джексона для сериализации своих объектов, но обнаружил, что мой общий объект дублирован, а не ссылка.

Причина в том, что яПонимаю, что Джексон может сериализоваться только по значению, а не по ссылке.

Я безуспешно искал какое-то рекомендуемое решение.

Любая и вся помощь приветствуется.

текущий ДжексонLib 1.8.3

Ответы [ 2 ]

7 голосов
/ 17 апреля 2013

Хорошо прошло время, и Джексон 2.0 вышел.Вот запрашиваемая функция!Я отвечаю на это, чтобы люди, подобные мне, приходили после того, как узнали, что оно доступно

https://github.com/FasterXML/jackson-docs/wiki/Presentation-Jackson-2.0

5 голосов
/ 24 января 2012

В настоящее время (1.9) вам нужно написать собственный сериализатор, десериализатор, чтобы справиться с этим. Нет встроенной поддержки для обработки идентификатора объекта.

Из фреймворков Java единственное, что я знаю для поддержки идентификаторов объектов, это XStream .

Для чего бы это ни стоило, существует давний запрос функции для Джексона, чтобы добавить поддержку. И есть реальный шанс, что это будет работать над 2.0. Но даже если это произойдет, это займет некоторое время (месяц или два).

UPDATE (апрель 2013 г.): согласно другому принятому ответу, эта функция - @JsonIdentityInfo - действительно была включена в Jackson 2.0 и доступна. Нет необходимости в пользовательских (де) сериализаторах.

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