0

List of Objects の Gson で作成した json はこんな感じ。

"[[{"id":1,"name":"Shepherd"}],[{"id":2,"name":"Bull"}]]"

しかし、私はこれが次のようになりたい

"[{'id':1,'name':'Shepherd'},{'id':2,'name':'Bull'}]"

Gson ライブラリを使用して、この json を次のように作成しました。

class Dog{
long id;
String name;
}

ArrayList<Dog> myDogs= new ArrayList<Dog>();
ArrayList<Object> objects = new ArrayList<Object>();
objects = Application.getApplication.query(Object.class, " from Dog", 0, 0);
//Fetching data through HQL
myDogs=(ArrayList<Dog>)objects;
String jsonStr = new Gson().toJson(myDogs);

この特定の構造化された json を使用して、Dog 型の RealmList に直接変換できるようにします。

 realm.createOrUpdateAllFromJson(Dog.class, jsonStr);
4

1 に答える 1

1

あなたがあなたから得ているのは、あなたが望むようにJSONを取得 する必要queryがあるようなものです。このバリアントを試してくださいList<List<Dog>>List<Dog>

ArrayList<Object> objects = new ArrayList<Object>();
objects = Application.getApplication.query(Object.class, " from Dog", 0, 0);
//Fetching data through HQL
myDogs=(ArrayList<List<Dog>)objects;
String jsonStr = new Gson().toJson(Iterables.concat(myDogs));

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Iterables.html#concat(java.lang.Iterable)を参照してください。

于 2015-10-08T06:56:45.057 に答える