20 Kasım 2017 Pazartesi

Gson @SerializedName Anotasyonu - Specify A Custom Name For The JSON Key

Giriş
Şu satırı dahil ederiz.
import com.google.gson.annotations.SerializedName;
Alanın isminden farklı bir şekilde json'a çevirmek için kullanılır.

Örnek
Elimizde şöyle bir kod olsun
import javax.annotation.Generated;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
    
public class GreetingRequest {
    
  @SerializedName("name")
  @Expose
  private String name;
    
  public String getName() {
    return name;
  }
    
  public void setName(String name) {
    this.name = name;
  }
    
}
Şöyle yaparız
Gson converter = new Gson();
GreetingsRequest request = new GreetingRequest();
request.setName("Test");
String greetingsJSON = converter.toJson(request);
Örnek
Elimizde şöyle bir json olsun
{
  "default": "...",
  ...
}
Java'da default isimli bir alan oluşturamayız. json'daki default kelimesini bir değişken ile eşleştirmek için şöyle yaparız.
class Foo {
  @SerializedName("default")
  private final String someField;
  ...
}

Hiç yorum yok:

Yorum Gönder