English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
@JsonAdapte Kommentare können auf der Ebene des Felds oder der Klasse verwendet werden, um GSON zu spezifizieren. DieTypeAdapterDie Klasse kann verwendet werden, um Java-Objekte in JSON zu konvertieren. Standardmäßig konvertiert die Gson-Bibliothek Anwendungs-Klassen in JSON, indem sie eingebaute Typen-Adapter verwenden, aber wir können es durch Bereitstellung eigener Typen-Adapter überschreiben.
@Retention(value=RUNTIME) @Target(value={TYPE,FIELD}) public @interface JsonAdapter
import java.io.IOException; import com.google.gson.Gson; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; public class JsonAdapterTest { public static void main(String[] args) { Gson gson = new Gson(); System.out.println(gson.toJson(new Customer())); } } //Kundengruppe class Customer { @JsonAdapter(CustomJsonAdapter.class) Integer customerId = 101; } //CustomJsonAdapter Klasse class CustomJsonAdapter extends TypeAdapter<Integer> { @Override public Integer read(JsonReader jreader) throws IOException { return null; } @Override public void write(JsonWriter jwriter, Integer customerId) throws IOException { jwriter.beginObject(); jwriter.name("customerId"); jwriter.value(String.valueOf(customerId)); jwriter.endObject(); } }
Ausgaberesultat
{"customerId":{"customerId":"101"}}