Gson @Expose annotation peut être utilisée pour marquer si un champ est exposé (contenu ou non) pour la sérialisation ou la désérialisation. L'annotation @Expose peut prendre deux paramètres, chaque paramètre est une valeur booléenne qui peut prendre la valeur true ou false. Pour que GSON réagisse à l'annotation @Expose, nous devons créer une instance Gson à l'aide de la classe GsonBuilder et appeler la méthode excludeFieldsWithoutExposeAnnotation(), qui configure Gson pour exclure tous les champs sans annotation Expose de la sérialisation ou désérialisation sérialisation.
public GsonBuilder excludeFieldsWithoutExposeAnnotation()
import com.google.gson.*; import com.google.gson.annotations.*; public class JsonExcludeAnnotationTest { public static void main(String args[]) { Employee emp = new Employee("Raja", 28, 40000.00); Gson gson = new GsonBuilder().setPrettyPrinting().create(); String jsonStr = gson.toJson(emp); System.out.println(jsonStr); gson = new GsonBuilder().setPrettyPrinting().excludeFieldsWithoutExposeAnnotation().create(); jsonStr = gson.toJson(emp); System.out.println(jsonStr); } } // Employee class class Employee { @Expose(serialize = true, deserialize = true) public String name; @Expose(serialize = true, deserialize = true) public int age; @Expose(serialize = false, deserialize = false)<strong> </strong> public double salary; public Employee(String name, int age, double salary) { this.name = name; this.age = age; this.salary = salary; } }
{ "name": "Raja", "age": 28, "salary": 40000.0 } { "name": "Raja", "age": 28 }
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!