私のJSONデータはサーバーAPIから次のようになります
{
//...
PredecessorIds:[[1,2][3,4][5]]
//...
}
Integer または String の配列を正常に処理できますRealmList<RealmInt>
が、今回は RealmList> がサポートされていないため、エラーで失敗しました。"Type parameter 'io.realm.realmList' is not within its bounds...."
このリンクRealmInt
を参照してください。
RealmList<RealmLista>
RealmListaがどこから拡張されRealmObject
、RealmList
このようなものがあるかを使用して解決しようとしました
public class RealmLista extends RealmObject {
public RealmList<RealmInt> value;
public RealmLista() {
}
public RealmLista(RealmList<RealmInt> val) {
this.value = val;
}
}
を作成しRealmListaTypeAdapter
て Gson に追加しましたが、逆シリアルGson expects an Object (RealmLista) but is found array
化すると、上記のサーバーからのデータは明らかです。
//RealmListAdapter for Gson
@Override
public RealmLista read(JsonReader in) throws IOException {
RealmLista lista = new RealmLista();
Gson gson = new Gson();
//how to read that [[1],[3,4]] int into RealmLista
in.beginArray();
while (in.hasNext()) {
lista.value.add(new RealmInt(in.nextInt()));
}
in.endArray();
return lista;
}
保存中に任意の型にList<List<Integer>>
変換して単純に保存する方法はありますか?Gsonによって簡単に変換されます。:-/RealmObject
List<List<Integer>>