Heim > Java > javaLernprogramm > Wann sollte die Annotation @JsonValue verwendet werden, wenn Jackson in Java verwendet wird?

Wann sollte die Annotation @JsonValue verwendet werden, wenn Jackson in Java verwendet wird?

王林
Freigeben: 2023-09-01 22:05:05
nach vorne
1147 Leute haben es durchsucht

Die

Wann sollte die Annotation @JsonValue verwendet werden, wenn Jackson in Java verwendet wird?

@JsonValue-Annotation ist auf Methodenebene nützlich. Wir können diese Annotation verwenden, um eine JSON-Zeichenfolge aus einem Java-Objekt zu generieren. Wenn wir das serialisierte Objekt drucken möchten, überschreiben Sie die Methode toString(). Aber mit der Annotation @JsonValue können wir definieren, wie Java-Objekte serialisiert werden.

Syntax

<strong>@Target(value={ANNOTATION_TYPE,METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface JsonValue</strong>
Nach dem Login kopieren

Beispiel

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
public class JsonValueAnnotationTest {
   public static void main(String args[]) throws Exception {
      <strong>ObjectMapper </strong>mapper = new <strong>ObjectMapper()</strong>;
      String jsonString = mapper.<strong>writeValueAsString</strong>(new Student());
      System.out.println(jsonString);
   }
}
<strong>// Student class</strong>
class Student {
   <strong>@JsonProperty</strong>
   private int studentId = 115;
  <strong> @JsonProperty</strong>
   private String studentName = "Sai Adithya";
   <strong>@JsonValue</strong>
   public String <strong>toJson</strong>() {
      return this.studentName + "," + this.studentId + "," + this.toString();
   }
   <strong>@Override</strong>
   public String toString() {
      return "Student[" +
            "studentId = " + studentId +
      ", studentName = " + studentName +
      &#39;]&#39;;
   }
}
Nach dem Login kopieren

Ausgabe

<strong>"Sai Adithya,115,Student[studentId = 115, studentName = Sai Adithya]"</strong>
Nach dem Login kopieren

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

Verwandte Etiketten:
Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage