JsonMappingException (было java.lang.NullPointerException)
искал это какое-то время, но укрылсяне нашел никаких ответов, так что либо яЯ упускаю что-то настолько очевидное, что никто ничего не написал об этом, или яМы столкнулись с необычной проблемой. Я'я на это надеюсьпервый ... я
работаю со сторонней библиотекой (IDMLlib) для извлечения информации из документа Adobe InDesign, хранящегося в формате .idml. Содержимое легко читается и сохраняется в объекте типаIDML», который содержит все, что мне нужно. Теперь я хочу отправить этот объект в веб-клиент (браузер), используяДжексон JSON.I '
Мы столкнулись с 2 проблемами:
1) Дерево объектов полно круговых ссылок. Я'мы исправили это с помощью надстроек с аннотацией
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
Так что теперь яу нас есть много готовых дополнений, если нужно для задачи 2.
2) Я продолжаю получать новые объектно-специфические ошибки при сериализации.
--Output from testMethodsReturnsSomething--
| Failure: testMethods(package.IdmlServiceTests)
| com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: de.fhcon.idmllib.api.elements.Idml["document"]->de.fhcon.idmllib.api.elements.Document["tags"]->de.fhcon.idmllib.api.elements.tags.Tags["xmltagList"]->java.util.ArrayList[0]->de.fhcon.idmllib.api.elements.tags.XMLTag["tagColor"]->de.fhcon.idmllib.api.elements.typedefs.InDesignUIColorType["greenValue"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:218)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:183)
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:155)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:533)
...
мы пытались написать собственный сериализатор NullValue / NullKey, но это непомочь NullPointerException.
Есть ли аннотация, которую я могу использовать в своих надстройках, чтобы справиться с этим?
Или у меня есть другой способ сериализации этого объекта?