2016-08-06 53 views
6

ile alternatif adın serileştirilememesi JSON'u pojoslara serileştirmek için 2.1.0 sürümü kullanmaya başladım. Pojo'da bir alan jsonda farklı isimler altında alınabilir. Doğru alanını serisini için, ben şu şekilde @serializedName ek açıklama kullandı:GSON, AutoValue ve Retrofit 2

@AutoValue 
public abstract class Media implements Parcelable { 

    @SerializedName(value = "title", alternate = {"name"}) 
    public abstract String title(); 

// More fields and code 

Ancak, ortaya çıkan JSON tuşu "başlığı altında" alanı vardır Bazı sebeplerden dolayı,, GSON bunu doğru okur, ancak alan "isim" tuşuyla ilişkilendirildiğinde, okunmaz.

GSON, seri hale getirme sırasında alternatif adı tanımasını nasıl sağlayabilirim?

cevap

1

com.ryanharter.auto.value:auto-value-gson eklentisini kullandığınızı varsayıyorum. Sıralı serileştirilmiş isimler için destek, 0.4.0 sürümüne kadar added değildi. com.ryanharter.auto.value:auto-value-gson:0.4.2'a güncelleyin ve sonra alternatif adların seri hale getirilmesi gerekir.

-1

Sorun, sorun Parsel ile ilgilidir. Bu parceler

@AutoValue 
@Parcel 
public abstract class Media { 
    @ParcelProperty("title") public abstract String title(); 

} 
bakmak isteyebilirsiniz