/ / Jackson: So deklarieren Sie eine Eigenschaft mit JSON - Inhalt als Roh - String - Json, Jackson, Marshalling

Jackson: Wie man eine Eigenschaft mit JSON-Inhalt als rohe Zeichenfolge entmarshale - json, jackson, Marshalling

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 № 1

Sie 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