Ich marshalling ein Objekt in JSON, das hatJSON in einer String-Eigenschaft (String actionsJSON). Dies führte dazu, dass JSON entkommen wurde. Daher verwende ich die Jackson-Annotation @JsonRawValue, damit die JSON in dieser Eigenschaft nicht entweicht. Das Problem ist, dass Jackson den JSON (der über ein JSON-Array verfügt) beim Entpacken in eine String-Eigenschaft (umgekehrter Prozess) verarbeitet und einen Fehler ausgibt, da die Java-Klasseneigenschaft nur ein String ist:
Can not deserialize instance of java.lang.String out of START_ARRAY token
Wie kann ich Jackson dazu bringen, den Inhalt dieser Eigenschaft einfach zu kopieren, ohne zu versuchen, sie zu verarbeiten, so dass ich JSON-Code in der String-Eigenschaft wie im ursprünglichen Objekt habe?
(Ich habe @JsonRawValue in der Zielklasse ausprobiert, ... @JsonSerialize (using = ToStringSerializer.class, as = StringSerializer.class).
Antworten:
0 für die Antwort № 1Sie sollten sich Json ansehenDeserlalize und nicht JsonSerialize. Ein schönes Beispiel bei Deserialisieren Sie JSON, um mit Jackson im Rohformat Zeichenfolgen zu erstellen Und ausführlichere Informationen unter http://www.baeldung.com/jackson-annotations