初にキャストすることはできません、私はここにgsonと自動入力値-gson延長自動入力値:ClassCastExceptionが発生:API、私は別のモデルを持っているAPIで<a href="https://github.com/rharter/auto-value-gson" rel="nofollow">https://github.com/rharter/auto-value-gson</a></p> <p>:LinkedTreeMapはすべての
チェックして改造を使用していますid、descriptionなどのjsonとメッセージの配列を返しますが、これらのメッセージはソーシャルメディアの種類(Facebook、Twitter、Instagramなど)に応じて異なる場合があります。だから、私はこのようなモデルを作った:
@AutoValue
public abstract class SocialStream<T> {
public abstract int id();
......
......
public abstract List<T> messages();
public static <T> TypeAdapter<SocialStream<T>> typeAdapter(Gson gson, TypeToken<? extends SocialStream<T>> typeToken) {
return new AutoValue_SocialStream.GsonTypeAdapter(gson, typeToken);
}
}
あなたは私も自動入力値typeAdapterにtypetoken渡され、すべてが動作しているようですが、私はすでに全体のJSONを記録し、私は私のモデルとしてそれを使用しようとすると問題が発生見ることができるように。
SocialStream<FacebookPost> post = getList().get(0);
方法GETLIST()は、これらのメッセージの配列を返し、これは私が例外を取得していラインです:
java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to com.example.model.FacebookPost
at