GSON разбирает динамическое поле JSON - PullRequest
6 голосов
/ 04 октября 2011

Я не могу понять это. Я посмотрел пару SO сообщений ( здесь и здесь ), и моя ситуация немного отличается.

Я не уверен, нужно ли мне регистрировать новый TypeToken или что. Но мой объект JSON выглядит так:

{
    "id": 6,
    "error": "0",
    "dates": {
        34234 : "2011-01-01" // I want to parse the date into a string.
        87474 : "2011-08-09" // The first values are all unique.
        .                    //this can be any number of entries.
        .
        .
        74857 : "2011-09-22"
    }
}

Я создал оба моих объекта так:

public class Response {

    public Integer id;
    public String error;
    public DateList dates;
}

Отдельный файл:

public class DateList {

    public List<Map<Integer, String>> dateString;
}

Я не уверен, как настроить это, чтобы сделать это правильно. Документация, похоже, не помогает ... И другие примеры, которые я видел, - это анализ пользовательского объекта, а не строкового типа.

Спасибо!

1 Ответ

13 голосов
/ 04 октября 2011

Я попробовал это в таком виде:

Json

{
    "id": 6,
    "error": "0",
    "dates": {
        "34234" : "2011-01-01"
        "87474" : "2011-08-09"
        "74857" : "2011-09-22"
    }
}

И Response.java

public class Response {
    public Integer id;
    public String error;
    public Map<Integer, String> dates;
}

По крайней мере, это, казалось, работало изкоробка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...