GSON解析动态JSON字段

6
我好像无法解决这个问题。我已经看了几篇Stack Overflow的文章(这里这里),但我的情况略有不同。
我不确定是否需要注册新的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;
}

我不确定如何调整它以使其正确。文档似乎没有帮助......我看到的其他示例都是解析自定义对象,而不是字符串类型。
谢谢!

2
我不知道GSON是什么,但是List<Map<Integer, String>至少缺少一个>。而且,它应该只是一个映射,而不是映射列表。 - svens
抱歉我没有复制粘贴那段代码。谢谢你的帮助! - Matt W.
1个回答

14

我尝试过这种方式:

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

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


谢谢!我知道这很容易! - Matt W.
我也试过了,我以为我必须编写自定义的TypeAdapter或者一些神奇的东西。 - terencey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接