Inhaltsverzeichnis
Frageninhalt
Problemumgehung
Heim Java POJO mit Jackson automatisch in JSON konvertieren

POJO mit Jackson automatisch in JSON konvertieren

Feb 09, 2024 pm 12:24 PM

In der modernen Webentwicklung ist die Interaktion zwischen Front-End- und Back-End-Daten eine sehr wichtige Verbindung. In der Java-Entwicklung ist die Konvertierung von POJO-Objekten in Daten im JSON-Format eine häufige Anforderung. Um den Entwicklungsprozess zu vereinfachen, hat sich Jackson zu einer gängigen Lösung entwickelt. Jackson ist eine leistungsstarke Java-Bibliothek, die die automatische Konvertierung von POJO-Objekten in das JSON-Format ermöglicht. In diesem Artikel wird beschrieben, wie Sie Jackson nutzen können, um dieses Ziel zu erreichen. Werfen wir einen Blick auf die ausführliche Anleitung, die der PHP-Editor Yuzai für Sie erstellt hat!

Frageninhalt

Ich wünschte, ich könnte das tun:

system.out.printf("my obj: %s\n", myobject);
Nach dem Login kopieren

Und lassen Sie es JSON generieren. Meine bisher beste Lösung ist Folgendes:

@Override
public String toString() {
    ObjectMapper mapper = new ObjectMapper();
    String retVal = null;
    try {
        retVal = mapper.writeValueAsString(this);
    }
    catch (JsonProcessingException ignored) {
    }
    return retVal;
}
Nach dem Login kopieren

Das funktioniert zwar, aber es ist nervig, es bei jedem einzelnen meiner Pojos tun zu müssen. Gibt es eine Anmerkung, die ich verwenden kann, oder eine andere Möglichkeit, dies zu automatisieren? Ich verwende Jackson und Project Lombok.

Ich habe versucht, es nur in der Basisklasse zu implementieren, aber es funktioniert nicht in Unterklassen. Wenn ich es in der gesamten Kette umsetze, funktioniert es.

Problemumgehung

Wenn Sie komplexe geerbte Klassen haben, sollten Sie alle @tostring@data (其中包含 @tostring )或子类的 tostring alle Überschreibungen entfernen.

Hier ist ein Beispiel aller in der tostostostostostostring-Methode verwendeten Eigenschaften:

my obj: {"superproperty":"super","name":"abc","number":15,"gender":true}
Nach dem Login kopieren
public abstract class BaseObject {
  @Override
  public String toString() {
    ObjectMapper mapper = new ObjectMapper();
    String retVal = null;
    try {
      retVal = mapper.writeValueAsString(this);
    } catch (JsonProcessingException ignored) {
    }
    return retVal;
  }

  @Setter
  @Getter
  @AllArgsConstructor
  public static class ChildObject extends BaseObject {
    private String superProperty;
  }

  @Setter
  @Getter
  public static class ChildObject1 extends ChildObject {
    private String name;
    private int number;
    private boolean gender;

    public ChildObject1(String superProperty, String name, int number, boolean gender) {
      super(superProperty);
      this.name = name;
      this.number = number;
      this.gender = gender;
    }
  }

  public static void main(String[] args) {
    System.out.printf("My obj: %s\n", new ChildObject1("super","abc", 15, true));
  }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPOJO mit Jackson automatisch in JSON konvertieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)