GSON解析动态JSON字段

时间:2011-10-04 17:48:32

标签: java gson

我似乎无法弄清楚这一点。我看了几篇SO帖子(herehere),我的情况略有不同。

我不确定是否必须注册新的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 个答案:

答案 0 :(得分:13)

我试过这种形式:

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;
}

至少这似乎是开箱即用的。