/ / GSON、AutoValue、Retrofit 2で代替名を逆シリアル化できない - java、gson、retrofit2、android-gson、auto-value

GSON、AutoValue、Retrofit 2で代替名を逆シリアル化できません - java、gson、retrofit2、android-gson、auto-value

私は改造バージョン2.1を使用しています。JSONを逆ポーズにデシリアライズするには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がキー "title"の下にフィールドを持っている場合、Gsonはそれを正しく読み取りますが、フィールドが "name"キーに関連付けられている場合、読み込まれません。

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

回答:

回答№1は1

私はあなたが com.ryanharter.auto.value:auto-value-gson プラグイン。別のシリアライズされた名前のサポートはありませんでした 追加された バージョン0.4.0まで。更新先 com.ryanharter.auto.value:auto-value-gson:0.4.2 別の名前をデシリアライズすることができます。


回答№2の場合は-1

問題はパーセルに関連しているようだ。 あなたはこれを見てみたいかもしれません パーセル

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

}