Android GSON десериализации в список - PullRequest
2 голосов
/ 01 ноября 2011

Я пытаюсь разобрать строку json в список или список.У меня есть следующий ответ json, полученный от службы WCF RESTful, которую я создал для проекта Android

[
    {
        "Class": "Lorem",
        "Company": "Ipsum",
        "Id": "XXXX",
        "Name": "Avent"
    },
    {
        "Class": "Consectetur",
        "Company": "Adipiscing",
        "Id": "YYYYY",
        "Name": "Nulla"
    }
]

Я прочитал несколько примеров анализа результатов gson здесь, но яс трудом принимаю контейнерный класс, как я видел.Я получил его для чтения одного результата в класс Group, но не могу заставить его анализировать любой вид List или ArrayList.

Group Class:

public class Group {

    private String Id;
    private String Name;
    private String Class;
    private String Company;   
}

Group Container Class:

public class Groups {
    private List<Group> GRP;
}

оператор синтаксического анализа gson:

Groups GRP = gson.fromJson(jsonString, Groups.class);

Мне пришлось сделать некоторые манипуляции с jsonString, потому что он обнаруживался с некоторыми пробелами в строке (после запятых),и он начал работать после того, как я удалил их, по крайней мере, для разбора в один элемент.Не уверен, если это что-то повлияет, но решил, что я упомяну это.

Также я попытался сделать

Type listType = new TypeToken> () {} .getType ();gson.toJson (myStrings, listType);

но, похоже, это тоже не работает, и я не знал, необходимо ли это для моей ситуации.

1 Ответ

4 голосов
/ 01 ноября 2011
List<Group> groups = gson.fromJson(jsonString, new TypeToken<List<Group>>() {}.getType())
...