Мои данные JSON выглядит так от сервера апиНе удалось обработать RealmList <RealmList <RealmInt>> в Realm.io
{
//...
PredecessorIds:[[1,2][3,4][5]]
//...
}
Я могу успешно обрабатывать массивы Integer или String, по RealmList<RealmInt>
, но на этот раз мне не удалось с ошибка, поскольку RealmList> не поддерживается. "Type parameter 'io.realm.realmList' is not within its bounds...."
RealmInt
см. this link.
Я пытался решить с помощью 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>>
путем преобразования в RealmObject
любого типа при сохранении, List<List<Integer>>
легко преобразуется Gson. : -/
[Это работает просто 'RealmList] (https: //gist.github .com/cmelchior/1a97377df0c49cd4fca9), но вам нужен новый объект, в котором хранится intm RealmList, если вы хотите сохранить массив из них. –
EpicPandaForce