2016-08-06 6 views
6

JSONをpojosにデシリアライズするために、バージョン2.1.0のレトロフィットを使用しています。 pojoのフィールドは、jsonの異なる名前で受け取ることができます。正しくフィールドをデシリアライズするために、私は次のように@serializedNameアノテーションを使用:GSON、AutoValue、Retrofit 2で代替名を逆シリアル化できません。

@AutoValue 
public abstract class Media implements Parcelable { 

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

// More fields and code 

をただし、結果のJSONは、「タイトル」キーの下にフィールドを持っているいくつかの理由で、Gsonは、それを正しく読み取りますが、フィールドが「名前」キーに関連付けられている場合、フィールドは読み取られません。

デシリアライズ時に代替名を認識させるにはどうすればよいですか?

答えて

1

私はあなたがcom.ryanharter.auto.value:auto-value-gsonプラグインを使用していると仮定しています。別のシリアル化された名前のサポートはバージョン0.4.0まではaddedではありませんでした。 com.ryanharter.auto.value:auto-value-gson:0.4.2に更新すると、代替名を逆シリアル化することができます。

-1

問題はパーセルに関連しているようです。 あなたはこの parceler

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

} 
を見てみたい場合があります
関連する問題