JsonMappingException: бесконечная рекурсия

Как разрешить круговую зависимость JSON:

Класс:

@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "uniqueID")
final public class TestNode {
    private final String uniqueID;
    private final TestNode testNode; //Circular dependency
}

основной:

private final ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValue(JsonOutputFile, TestNode.class); // Write object to file

* Если я использую JsonIdentityInfo, тогда при записи объекта в файл я получаю результаты { "uniqueID": "1", "testNode": "1"}

* Если я не использую JsonIdentityInfo, я получаю правильный JSON, т.е. testNode верен, но я получаю следующую ошибку:

Exception in thread "main" com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: ["testNode"] ...

PS: Я использую следующую версию: Джексон: 3-SNAPSHOT, Java: 8, Spring: 4.3

Вы проверили, что означает исключение?

Lemmy 13.06.2018 09:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
233
1

Ответы 1

Проблема заключалась в круговых зависимостях. Я решил это, удалив циклические зависимости. Спасибо!

Другие вопросы по теме