JsonMappingException (war java.lang.NullPointerException)

Ich habe eine Weile danach gesucht, aber keine Antwort gefunden. Entweder fehlt mir etwas, das so offensichtlich ist, dass niemand etwas darüber geschrieben hat, oder ich bin auf ein ungewöhnliches Problem gestoßen. Ich hoffe, es ist das erste ...

Ich arbeite mit einer Drittanbieter-Bibliothek (IDMLlib), um Informationen aus einem Adobe InDesign-Dokument zu extrahieren, das im .idml-Format gespeichert ist. Der Inhalt kann leicht gelesen und in einem Objekt vom Typ "Idml" gespeichert werden, das alles enthält, was ich brauche. Nun möchte ich dieses Objekt mit an einen Webclient (Browser) sendenJackson JSON.

Ich habe 2 Probleme getroffen:

1) Der Objektbaum ist voll von kreisförmigen Referenzen. Ich habe dies behoben, indem ich Mix-Ins mit der Annotation verwendet habe

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

Jetzt habe ich eine Menge Mix-Ins parat, falls für Problem 2 erforderlich.

2) Ich erhalte beim Serialisieren immer wieder neue objektspezifische Fehler.

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

Ich habe versucht, einen benutzerdefinierten NullValue / NullKey-Serializer zu schreiben, aber das hilft der NullPointerException nicht.

Gibt es eine Anmerkung, die ich in meinen Mix-Ins verwenden kann?
Oder gibt es eine andere Möglichkeit, dieses Objekt zu serialisieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage