【问题标题】:GSON parsing dynamic JSON fieldGSON解析动态JSON字段
【发布时间】:2011-11-30 21:42:48
【问题描述】:

我似乎无法弄清楚这一点。我看过几个 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;
}

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

谢谢!

【问题讨论】:

  • 我不知道 GSON 是什么,但List&lt;Map&lt;Integer, String&gt; 至少缺少一个&gt;。另外,不应该只是一张地图而不是地图列表吗?
  • 抱歉,我没有复制和粘贴该代码。感谢您的帮助!

标签: java gson


【解决方案1】:

我试过这种形式:

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

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

【讨论】:

  • 谢谢!!我知道这很容易!
  • 也为我工作。我想我必须编写一个自定义的 TypeAdapter 或一些神奇的东西。
猜你喜欢
  • 2011-08-13
  • 1970-01-01
  • 2016-03-08
  • 1970-01-01
  • 2019-07-17
  • 2015-10-14
  • 1970-01-01
  • 2015-11-14
  • 1970-01-01
相关资源
最近更新 更多