У меня есть класс, содержащий экземпляр org.apache.commons.lang3.mutable.MutableDouble
. Некоторые экземпляры MutableDouble
используются совместно с экземплярами класса, которые мне нужно поддерживать при сериализации / десериализации с помощью Jackson 2.x (я использую его для создания глубокой копии List<MyClass>
.)
Я пробовал использовать такие миксины:
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@id")
static abstract class MutableDoubleMixin { }
и в другом методе:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.addMixIn(MutableDouble.class, MutableDoubleMixin.class);
String jsonString = objectMapper.writeValueAsString(myObject);
(я не показываю десериализацию, поскольку здесь она уже пошла не так)
Результатом будет jsonString
, в котором просто номер для поля MutableDouble
(не объект), а @id
нигде нет. Все сериализуется и десериализуется без ошибок, но результат неверен, потому что общие экземпляры больше не используются.
Что я делаю не так?