Ich erhalte die folgende Ausgabe, wenn ein Objekt Serialisierung über Jackson yml:Jackson Yaml Typ Info ist falsch auf die Serialisierung
---
commands:
dev: !<foo.bar.baz.DevCommand>
Doch was ich will, ist:
---
commands:
dev:
type: foo.bar.baz.DevCommand
Ich bin in der Lage dieses Geld zu deserialisieren. Das heißt, der Deserialisierungsteil funktioniert wie beabsichtigt. Ich habe die folgende Anmerkung setze überall kann ich mich vorstellen:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="type")
Einschließlich auf dem DevCommand Schnittstelle, auf DevCommand die konkrete Klasse, von der Art, die das commands
Karte (sowohl das Feld und den Getter/Setter) hat.
Was muss ich tun, um Jackson zu zwingen, das gewünschte Format zu verwenden?
Von doc von JsonTypeInfo: * Anmerkung verwendet für die Konfiguration von Details, ob und wie Typinformationen mit ** ** JSON Serialisierung und Deserialisierung * - Da Sie nach YAML serialisieren, ist es einfach nicht anwendbar und Jackson verwendet stattdessen das Tag-System von YAML. – flyx
@flyx Aber es verwendet die JsonTypeInfo Annotation, um die Deserialisierung des Yaml zu konfigurieren .... – mtyson