JsonMappingException (był java.lang.NullPointerException)

Szukałem tego przez jakiś czas, ale nie znalazłem żadnych odpowiedzi, więc albo brakuje mi czegoś tak oczywistego, że nikt nic o tym nie napisał, albo trafiłem na nietypowy problem. Mam nadzieję, że to pierwszy ...

Pracuję z biblioteką innej firmy (IDMLlib) wyodrębnić informacje z dokumentu Adobe InDesign przechowywanego w formacie .idml. Zawartość można łatwo odczytać i zapisać w obiekcie typu „Idml”, który zawiera wszystko, czego potrzebuję. Teraz chcę wysłać ten obiekt do klienta WWW (przeglądarki) za pomocąJackson JSON.

Mam 2 problemy:

1) Drzewo obiektów jest pełne okrągłych referefencji. Naprawiłem to, używając miksów z adnotacją

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")  

Teraz mam dużo gotowych wtyczek, jeśli zajdzie taka potrzeba 2.

2) Podczas serializowania otrzymuję nowe błędy specyficzne dla obiektu.

--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)
...

Próbowałem napisać niestandardowy serializator NullValue / NullKey, ale to nie pomaga w wyjątku NullPointerException.

Czy istnieje adnotacja, której mogę użyć w moich miksach, które to obsługują?
Czy jest inny sposób na serializację tego obiektu?

questionAnswers(2)

yourAnswerToTheQuestion