Maison> Java> javaDidacticiel> le corps du texte

Quelle est l'importance de l'annotation @JsonIdentityInfo utilisant Jackson en Java ?

WBOY
Libérer: 2023-09-23 09:37:02
avant
1252 Les gens l'ont consulté

Quelle est limportance de lannotation @JsonIdentityInfo utilisant Jackson en Java ?

L'annotation@JsonIdentityInfoest utilisée lorsqu'un objet a une relationparent-enfantdans la bibliothèque Jackson.@JsonIdentityInfoannotationest utilisé pour indiquer l'identité de l'objet lors de la sérialisation et de la désérialisation.ObjectIdGenerators.PropertyGeneratorest une classe d'espace réservé abstraite utilisée pour représenter le cas où l'identifiant d'objet à utiliser provient d'une propriété POJO.

Syntaxe

@Target(value={ANNOTATION_TYPE,TYPE,FIELD,METHOD,PARAMETER}) @Retention(value=RUNTIME) public @interface JsonIdentityInfo
Copier après la connexion

Exemple

import java.util.*; import java.io.*; import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonIdentityInfoTest { public static void main(String[] args) throws IOException { ObjectMapper mapper = new ObjectMapper(); User user = new User(115, "Raja", "Ramesh"); Address address = new Address(125, "Madhapur", "Hyderabad", user); user.addAddress(address); String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(address); System.out.println(jsonString); } } // User class @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "userId") class User { private int userId; private String firstName; private String lastName; private List
addresses; public User(int userId, String firstName, String lastName) { this.userId = userId; this.firstName = firstName; this.lastName = lastName; this.addresses = new ArrayList
(); } public int getUserId() { return userId; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public void addAddress(Address address) { addresses.add(address); } } // Address class @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "userId") class Address { private int userId; private String city; private String street; private User user; public Address(int userId, String street, String city, User user) { this.userId = userId; this.street = street; this.city = city; this.user = user; } public int getUserId() { return userId; } public String getStreet() { return street; } public String getCity() { return city; } public User getUser() { return user; } }
Copier après la connexion

Sortie

{ "userId" : 125, "city" : "Hyderabad", "street" : "Madhapur", "user" : { "userId" : 115, "firstName" : "Raja", "lastName" : "Ramesh" } }
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!

Étiquettes associées:
source:tutorialspoint.com
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!