0

对象列表的 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

您从您那里得到的query类似于List<List<Dog>> 您需要List<Dog>根据需要获取 JSON,请尝试此变体

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 回答