Как заставить Джексона десериализовать циклический граф, который был запущен через JSOG.stringify(myCyclicalGraph)
Я в настоящее время использую этот плагин Джексона
Который сериализовал мои циклические графики. Затем на клиенте я использую JSOG для декодирования объектов {@ref} следующим образом:
JSOG.decode(data)
Проблема возникает, когда я пытаюсь отправить JSON обратно на сервер. Если я ничего не делаю с данными, я получаю "Превышен максимальный размер стека вызовов", очевидно, потому что мой объект js является циклическим. Я пытаюсь использовать:
JSOG.stringify(data);
Но затем Джексон подавился всеми @id и @refs:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "@id"
Кто-нибудь разобрался, как это сделать?
1 ответ
Обе стороны должны быть в состоянии поддержать соглашение JSOG. Он не является частью спецификации JSON и не может быть автоматически обнаружен; поэтому Джексон не может обработать это без посторонней помощи.