Heim  >  Artikel  >  Java  >  Wann sollte die Annotation @JsonAutoDetect in Java verwendet werden?

Wann sollte die Annotation @JsonAutoDetect in Java verwendet werden?

WBOY
WBOYnach vorne
2023-09-01 18:01:06791Durchsuche

Die Annotation

Wann sollte die Annotation @JsonAutoDetect in Java verwendet werden?

@JsonAutoDetect kann auf Klassenebene verwendet werden, um die Sichtbarkeit und Deserialisierung von Klasseneigenschaften während der Serialisierung zu überschreiben. Wir können Eigenschaften wie „creatorVisibility“, „fieldVisibility“, „getterVisibility“, „setterVisibility“ verwenden, um die Sichtbarkeit festzulegen >“ und „isGetterVisibility“. Die JsonAutoDetect-Klasse kann wie folgt definiert werden Öffentliche statische Konstanten für Java-Klassen Sichtbarkeitsstufen, wie "ANY", "DEFAULT", "NON_PRIVATE", "NONE", "PROTECTED_AND_PRIVATE" und "PUBLIC_ONLY"

Beispiel

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import java.io.*;
public class JsonAutoDetectTest {
   public static void main(String[] args) throws IOException {
      Address address = new Address("Madhapur", "Hyderabad", "Telangana");
      Name name = new Name("Raja", "Ramesh");
      Student student = new Student(address, name, true);
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
      System.out.println("JSON: " + jsonString);
   }
}
// Address class
class Address {
   private String firstLine;
   private String secondLine;
   private String thirdLine;
   public Address(String firstLine, String secondLine, String thirdLine) {
      this.firstLine = firstLine;
      this.secondLine = secondLine;
      this.thirdLine = thirdLine;
   }
   public String getFirstLine() {
      return firstLine;
   }
   public String getSecondLine() {
      return secondLine;
   }
   public String getThirdLine() {
      return thirdLine;
   }
}
// Name class
class Name {
   private String firstName;
   private String secondName;
   public Name(String firstName, String secondName) {
      this.firstName = firstName;
      this.secondName = secondName;
   }
   public String getFirstName() {
      return firstName;
   }
   public String getSecondName() {
      return secondName;
   }
}
// Student class
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
class Student {
   private Address address;
   private Name name;
   private Boolean isActive;
   public Student(Address address, Name name, Boolean isActive) {
      this.address = address;
      this.name = name;
      this.isActive = isActive;
   }
}

Ausgabe

{
 "address" : {
    "firstLine" : "Madhapur",
    "secondLine" : "Hyderabad",
    "thirdLine" : "Telangana"
 },
 "name" : {
    "firstName" : "Raja",
    "secondName" : "Ramesh"
 },
 "isActive" : true
}<strong>
</strong>

Das obige ist der detaillierte Inhalt vonWann sollte die Annotation @JsonAutoDetect in Java verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen