GSON анализирует индексированный JSON - PullRequest
1 голос
/ 26 марта 2012

Я посмотрел на GSON, чтобы разобрать некоторые из моих объектов JSON.Однако этот конкретный объект JSON индексируется следующим образом:

{
    {
        "1":
            {"name":"Mike","age":"27"},
        "2":
            {"name":"Sarah","age":"23"},
        "3":
            {"name":"Jenny","age":"19"},
        "4":
            {"name":"Joe","age":"24"},
        "5":
            {"name":"Bob","age":"21"},

            ...and so on
    }
}

Насколько я понимаю, каждый ключ соответствует имени переменной для соответствующего объекта GSON.Например, для «5» у меня был бы такой класс:

public class Person {
    private String name;
    private int age;
}

Однако, как в этом случае я позабочусь о «1», «2», «3», «4 ", а" 5 "?Может быть любое количество индексов, поэтому я не могу просто назвать переменные «1», «2», «3», «4» и «5» (и это противоречит правилам именования переменных).Может ли GSON помочь мне в этом случае?

1 Ответ

3 голосов
/ 26 марта 2012

Попробуйте десериализовать как карту. Вам нужно будет использовать класс TypeToken Gson, чтобы получить ссылку на параметризованный тип:

Type type = new TypeToken<Map<String, Person>>() {}.getType();
Map<String, Person> people = gson.fromJson(json, type);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...