Gson поможет с анализом массива - работает без массива, но не с массивом - PullRequest
1 голос
/ 03 августа 2011

Может кто-нибудь помочь мне с парсером Gson.Когда я удаляю изменения из JSON и Result, он работает нормально, но с изменением выдает сбой JsonParseException-Parse.

Result[] response = gson.fromJson(fileData.toString(), Result[].class);

У меня есть такие классы

public class Result {
    public String start_time;
    public String end_time;
    public change[] change;
}

и

public class change {
    public String id;
    public String name;
}

и строка Json как

[
  {
        "start_time": "8:00",
        "end_time": "10:00",
        "change": [
            {
                "id": "1",
                "name": "Sam"
            },
            {
                "id": "2",
                "name": "John"
            }
        ]
    },
    {
        "start_time": "9:00",
        "end_time": "15:00",
        "change": [
            {
                "id": "1",
                "name": "Sam"
            },
            {
                "id": "2",
                "name": "John"
            }
        ]
    }
]

Может кто-нибудь сказать мнечто я сделал не так?Есть идеи, почему он не будет работать с массивом?

1 Ответ

5 голосов
/ 04 августа 2011

Как уже было предложено, вам нужно использовать список вместо.Gson имеет довольно хорошую документацию для использования параметризованных типов с анализатором, вы можете прочитать больше об этом здесь .Ваш код будет выглядеть так:

Type listType = new TypeToken<List<Result>>() {}.getType();
List<Result> results = gson.fromJson(reader, listType);
for (Result r : results) {
    System.out.println(r);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...