Table des matières
Exemple
Sortie
Maison Java javaDidacticiel Quand utiliser les annotations @JsonManagedReference et @JsonBackReference en Java à l'aide de Jackson ?

Quand utiliser les annotations @JsonManagedReference et @JsonBackReference en Java à l'aide de Jackson ?

Sep 05, 2023 pm 10:33 PM
jackson @jsonmanagedreference @jsonbackreference

Les

Quand utiliser les annotations @JsonManagedReference et @JsonBackReference en Java à laide de Jackson ?

@JsonManagedReference et @JsonBackReference annotations peuvent être utilisées pour créer des structures JSON de >manière bidirectionnelle. L'annotation @JsonManagedReference est une référence avant qui est incluse lors de la sérialisation, tandis que l'annotation @JsonBackReference est une référence arrière qui est omise lors de la sérialisation.

Dans l'exemple ci-dessous, nous pouvons implémenter les annotations @JsonManagedReference et @JsonBackReference.

Exemple

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);
   }
}
Copier après la connexion

Sortie

{
   "empId" : 135,
   "empName" : "Adithya Ram",
   "manager" : {
      "empId" : 110,
      "empName" : "Sai Chaitanya"
   }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Convertir CSV en JSON à l'aide de la bibliothèque Jackson en Java ? Convertir CSV en JSON à l'aide de la bibliothèque Jackson en Java ? Aug 18, 2023 pm 11:49 PM

AJackson est une API Java JSON qui propose plusieurs manières différentes de traiter JSON. Nous pouvons convertir des données CSV en données JSON à l'aide de la classe CsvMapper, qui est un ObjectMapper spécial avec des fonctionnalités étendues pour convertir les POJO en instances CsvSchema. Nous pouvons créer un ObjectReader avec les paramètres par défaut en utilisant la méthode reader(). Pour convertir, nous devons importer com.fasterxml.jac

Comment résoudre le problème de la spécification de la version Jackson dans la mise à niveau SpringBoot Comment résoudre le problème de la spécification de la version Jackson dans la mise à niveau SpringBoot May 12, 2023 pm 02:13 PM

[Avis de vulnérabilité] Le 19 février, NVD a publié un avis de sécurité révélant une vulnérabilité d'exécution de code à distance (CVE-2020-8840) dans Jackson-databind causée par une injection JNDI, avec un score CVSS de 9,8. La version concernée de jackson-databind ne dispose pas de certaines classes de liste noire xbean-reflect/JNDI, telles que org.apache.xbean.propertyeditor.JndiConverter, ce qui peut inciter les attaquants à utiliser l'injection JNDI pour réaliser l'exécution de code à distance. À l'heure actuelle, le fabricant a publié une nouvelle version pour terminer la réparation de la vulnérabilité. Les utilisateurs concernés sont priés de mettre à niveau à temps pour se protéger. Depuis le S utilisé dans le projet

Convertir XML en POJO à l'aide de la bibliothèque Jackson en Java ? Convertir XML en POJO à l'aide de la bibliothèque Jackson en Java ? Aug 30, 2023 am 10:21 AM

Le JSONJackson est une bibliothèque pour Java. Il possède des capacités de liaison de données très puissantes et fournit un cadre pour sérialiser des objets Java personnalisés en JSON et désérialiser JSON en objet Java. Nous pouvons également convertir un format XML en objet POJO à l'aide de la méthode readValue () du Xml Mapper.

Convertir POJO en XML à l'aide de la bibliothèque Jackson en Java ? Convertir POJO en XML à l'aide de la bibliothèque Jackson en Java ? Sep 18, 2023 pm 02:21 PM

Jackson est une bibliothèque basée sur Java utile pour convertir des objets Java en JSON et JSON en objets Java. JacksonAPI est plus rapide que les autres API, nécessite moins de zone mémoire et convient aux objets volumineux. Nous utilisons la méthode writeValueAsString() de la classe XmlMapper pour convertir le POJO au format XML, et l'instance POJO correspondante doit être passée en paramètre à cette méthode. Syntaxe publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingExceptionExampleimp

Comment convertir un objet JSON en type enum en Java à l'aide de Jackson ? Comment convertir un objet JSON en type enum en Java à l'aide de Jackson ? Sep 05, 2023 pm 12:13 PM

JSONObject peut analyser le texte d'une chaîne pour générer un objet de type Map. Les énumérations peuvent être utilisées pour définir des collections de constantes, et nous pouvons utiliser des énumérations lorsque nous avons besoin d'une liste prédéfinie de valeurs qui ne représente pas une sorte de données numériques ou textuelles. Nous pouvons convertir des objets JSON en énumérations en utilisant la méthode readValue() de la classe ObjectMapper. Dans l'exemple ci-dessous, nous pouvons utiliser la bibliothèque Jackson pour convertir/désérialiser un objet JSON en une énumération Java. Exemple importcom.fasterxml.jackson.databind.*;publicclassJSONToEnumTest{ &

Comment obtenir les paramètres par défaut de JSONParser en utilisant Jackson en Java ? Comment obtenir les paramètres par défaut de JSONParser en utilisant Jackson en Java ? Sep 12, 2023 am 11:57 AM

Les paramètres par défaut de tous les analyseurs JSON peuvent être représentés à l'aide de l'énumération JsonParser.Feature. JsonParser.Feature.values() renverra toutes les fonctionnalités disponibles pour JSONParser, mais le fait qu'une fonctionnalité soit activée ou désactivée pour un analyseur spécifique peut être déterminé à l'aide de la méthode isEnabled() de JsonParser. Syntaxe publicstaticenumJsonParser.FeatureextendsEnum<JsonParser.Feature>Exemple importcom.fas

Comment utiliser la sérialisation Jackson pour réaliser la désensibilisation des données en Java Comment utiliser la sérialisation Jackson pour réaliser la désensibilisation des données en Java Apr 18, 2023 am 09:46 AM

1. Contexte : Certaines informations sensibles du projet ne peuvent pas être affichées directement, telles que les numéros de téléphone portable des clients, les cartes d'identité, les numéros de plaque d'immatriculation et d'autres informations. Une désensibilisation des données est requise lors de l'affichage pour éviter toute fuite de la vie privée des clients. La désensibilisation consiste à traiter une partie des données avec des symboles de désensibilisation (*). 2. Lorsque la cible renvoie des données du serveur, utilisez la sérialisation Jackson pour terminer la désensibilisation des données afin d'obtenir un affichage désensibilisé des informations sensibles. Réduisez le nombre de développements répétés et améliorez l'efficacité du développement pour former des règles de désensibilisation unifiées et efficaces. Cela peut être basé sur la méthode de désensibilisation de réécriture de la mise en œuvre de désensibilisation par défaut pour répondre aux exigences de désensibilisation de scénarios commerciaux personnalisés évolutifs et personnalisables. Basé sur l'implémentation de la sérialisation désensibilisée Jackson Custom de StdSerializer : tous standards

Quand utiliser l'annotation @ConstructorProperties lors de l'utilisation de Jackson en Java ? Quand utiliser l'annotation @ConstructorProperties lors de l'utilisation de Jackson en Java ? Aug 27, 2023 pm 08:53 PM

L'annotation @ConstructorProperties provient du package java.bean et est utilisée pour désérialiser JSON en objets Java via un constructeur annoté. Cette annotation est prise en charge à partir de Jackson 2.7. Le fonctionnement de cette annotation est très simple, au lieu d'annoter chaque paramètre du constructeur, nous pouvons fournir un tableau contenant les noms de propriétés pour chaque paramètre du constructeur. Syntaxe@Documented@Target(value=CONSTRUCTOR)@Retention(value=RUNTIME)public@interfaceConstructorPropertiesExample impo

See all articles