6

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

@AutoValue
public abstract class Media implements Parcelable {

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

// More fields and code

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

逆シリアル化中に GSON に代替名を認識させるにはどうすればよいですか?

4

2 に答える 2

2

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

于 2016-08-11T06:38:44.933 に答える
-1

問題は小包に関連しているようです。あなたはこの パーセラーを見てみたいかもしれません

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

}
于 2016-08-11T06:55:49.037 に答える