【问题标题】:JSON array parsing with different types不同类型的 JSON 数组解析
【发布时间】:2017-12-07 10:45:49
【问题描述】:

我正在使用 vk.com API,并且在一种方法中我得到了这样的响应:

{
    "ts": 1691519416,
    "updates": [
        [
            6,
            2000000024,
            586731
        ],
        [
            4,
            586732,
            8243,
            2000000024,
            1512642885,
            "income message",
            {
                "from": "384574802"
            }
        ]
    ]
}

问题是我正在使用 Gson,但我不知道我需要使用什么类型的数组。

现在我有这个:

public class Updates {
    public int ts;
    public Update[] updates;
}

我不知道在更新数组中/而不是更新数组中放入什么。

找到了解决办法,谢谢大家的解答。我只需要使用泛型和二维数组。更新类代码:

public class Updates {
    public int ts;
    public <?>[][] updates;
}

【问题讨论】:

  • 你应该有一个相当于这个响应格式的bean
  • 我会尝试使用泛型,我认为这将是一个很好的解决方案

标签: java arrays parsing gson


【解决方案1】:

你可以像这样创建你的类:

class Response
{
   Timestamp ts;
   Updates[] updates;
}

并使用 GSON:

Response response = gson.fromJson(jsonString, Response.class);

【讨论】:

  • 我应该在更新里面放什么?这就是问题
  • 你从 vk api 调用什么方法? (也许可以在这里找到一些东西:github.com/VKCOM/vk-java-sdk
【解决方案2】:

只需要创建一个泛型数组。

private Object&lt;?&gt;[] json;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多