


Wann sollten @JsonManagedReference- und @JsonBackReference-Annotationen in Java mit Jackson verwendet werden?
Die
@JsonManagedReference und @JsonBackReference Annotationen können verwendet werden, um JSON-Strukturen auf >bidirektionale Weise zu erstellen. Die Annotation @JsonManagedReference ist eine Vorwärtsreferenz, die während der Serialisierung einbezogen wird, während die Annotation @JsonBackReference eine Rückreferenz ist, die während der Serialisierung weggelassen wird.
Im folgenden Beispiel können wir die Annotationen @JsonManagedReference und @JsonBackReference implementieren.
Beispiel
import java.util.*; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; public class ManagedReferenceBackReferenceTest { public static void main(String args[]) throws JsonProcessingException { BackReferenceBeanTest testBean = new BackReferenceBeanTest(110, "Sai Chaitanya"); ManagedReferenceBeanTest bean = new ManagedReferenceBeanTest(135, "Adithya Ram", testBean); testBean.addEmployees(bean); ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(bean); System.out.println(jsonString); } } class ManagedReferenceBeanTest { public int empId = 115; public String empName = "Raja Ramesh"; @JsonManagedReference public BackReferenceBeanTest manager; public ManagedReferenceBeanTest(int empId, String empName, BackReferenceBeanTest manager) { this.empId = empId; this.empName = empName; this.manager = manager; } } class BackReferenceBeanTest { public int empId = 125; public String empName = "Jai Dev"; @JsonBackReference public List<ManagedReferenceBeanTest> list; public BackReferenceBeanTest(int empId, String empName) { this.empId = empId; this.empName = empName; list = new ArrayList<ManagedReferenceBeanTest>(); } public void addEmployees(ManagedReferenceBeanTest managedReferenceBeanTest) { list.add(managedReferenceBeanTest); } }
Ausgabe
{ "empId" : 135, "empName" : "Adithya Ram", "manager" : { "empId" : 110, "empName" : "Sai Chaitanya" } }
Das obige ist der detaillierte Inhalt vonWann sollten @JsonManagedReference- und @JsonBackReference-Annotationen in Java mit Jackson verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



AJackson ist eine Java-JSON-API, die verschiedene Möglichkeiten zur Verarbeitung von JSON bietet. Wir können CSV-Daten in JSON-Daten konvertieren, indem wir die CsvMapper-Klasse verwenden, einen speziellen ObjectMapper mit erweiterter Funktionalität zum Konvertieren von POJOs in CsvSchema-Instanzen. Mit der Methode read() können wir einen ObjectReader mit Standardeinstellungen erstellen. Zum Konvertieren müssen wir com.fasterxml.jac importieren

[Schwachstellenhinweis] Am 19. Februar veröffentlichte NVD einen Sicherheitshinweis, in dem eine Sicherheitslücke (CVE-2020-8840) zur Remotecodeausführung in jackson-databind offengelegt wurde, die durch JNDI-Injection mit einem CVSS-Score von 9,8 verursacht wurde. Der betroffenen Version von jackson-databind fehlen bestimmte xbean-reflect/JNDI-Blacklist-Klassen, wie z. B. org.apache.xbean.propertyeditor.JndiConverter, was dazu führen kann, dass Angreifer JNDI-Injection verwenden, um eine Remotecodeausführung zu erreichen. Derzeit hat der Hersteller eine neue Version veröffentlicht, um die Schwachstellenbehebung abzuschließen. Relevante Benutzer werden gebeten, zum Schutz rechtzeitig ein Upgrade durchzuführen. Da das S im Projekt verwendet wird

Der JSON Jackson ist eine Bibliothek für Java. Er verfügt über sehr leistungsstarke Datenbindungsfunktionen und stellt ein Framework bereit, um benutzerdefinierte Java-Objekte in JSON zu serialisieren und JSON zurück in ein Java-Objekt zu deserialisieren. Mithilfe der readValue()-Methode des XMLMappers können wir auch ein XML-Format in das POJO-Objekt konvertieren

Jackson ist eine Java-basierte Bibliothek, die zum Konvertieren von Java-Objekten in JSON und JSON in Java-Objekte nützlich ist. JacksonAPI ist schneller als andere APIs, benötigt weniger Speicherbereich und eignet sich für große Objekte. Wir verwenden die Methode writeValueAsString() der Klasse XmlMapper, um das POJO in das XML-Format zu konvertieren. Die entsprechende POJO-Instanz muss als Parameter an diese Methode übergeben werden. Syntax publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingExceptionExampleimp

JSONObject kann Text in einer Zeichenfolge analysieren, um ein Objekt vom Typ Map zu generieren. Aufzählungen können verwendet werden, um Sammlungen von Konstanten zu definieren. Wir können Aufzählungen verwenden, wenn wir eine vordefinierte Liste von Werten benötigen, die keine numerischen oder Textdaten darstellen. Mit der Methode readValue() der Klasse ObjectMapper können wir ein JSON-Objekt in eine Aufzählung umwandeln. Im folgenden Beispiel können wir die Jackson-Bibliothek verwenden, um ein JSON-Objekt in eine Java-Enumeration zu konvertieren/deserialisieren. Beispiel importcom.fasterxml.jackson.databind.*;publicclassJSONToEnumTest{ &

Die Standardeinstellungen für alle JSON-Parser können mithilfe der JsonParser.Feature-Enumeration dargestellt werden. JsonParser.Feature.values() gibt alle für JSONParser verfügbaren Funktionen zurück, aber ob eine Funktion für einen bestimmten Parser aktiviert oder deaktiviert ist, kann mit der isEnabled()-Methode von JsonParser ermittelt werden. Syntax publicstaticenumJsonParser.FeatureextendsEnum<JsonParser.Feature>Beispiel importcom.fas

1. Hintergrund: Einige vertrauliche Informationen im Projekt können nicht direkt angezeigt werden, z. B. Mobiltelefonnummern, Ausweise, Nummernschilder und andere Informationen. Daten müssen bei der Anzeige desensibilisiert werden, um den Verlust der Privatsphäre des Kunden zu verhindern. Unter Desensibilisierung versteht man die Behandlung eines Teils der Daten mit Desensibilisierungssymbolen (*). 2. Wenn das Ziel Daten vom Server zurückgibt, verwenden Sie die Jackson-Serialisierung, um die Desensibilisierung der Daten abzuschließen und eine desensibilisierte Anzeige vertraulicher Informationen zu erreichen. Reduzieren Sie die Anzahl wiederholter Entwicklungen und verbessern Sie die Entwicklungseffizienz, um einheitliche und effektive Desensibilisierungsregeln zu erstellen. Dies kann auf der Desensibilisierungsmethode zum Umschreiben der Standard-Desensibilisierungsimplementierung basieren, um die Desensibilisierungsanforderungen skalierbarer und anpassbarer personalisierter Geschäftsszenarien zu erfüllen Basierend auf Jackson Custom desensibilisierte Serialisierungsimplementierung von StdSerializer: alle Standard

Die Annotation @ConstructorProperties stammt aus dem Paket java.bean und wird verwendet, um JSON über einen annotierten Konstruktor in Java-Objekte zu deserialisieren. Diese Anmerkung wird ab Jackson 2.7 unterstützt. Die Funktionsweise dieser Annotation ist sehr einfach: Anstatt jeden Parameter im Konstruktor mit Anmerkungen zu versehen, können wir ein Array bereitstellen, das die Eigenschaftsnamen für jeden Konstruktorparameter enthält. Syntax@Documented@Target(value=CONSTRUCTOR)@Retention(value=RUNTIME)public@interfaceConstructorPropertiesExample impo
