如何使用Gson解析以下json?

时间:2016-01-05 08:04:52

标签: java json gson

我已经看到了使用动态密钥解析json的类似问题,但是无法弄清楚如何解析以下json:

{
    "unknown": 
     {
         "id":3980715,
         "name":"namename",
         "profileIconId":28,
         "revisionDate":1451936993000
     }
}

这里,“未知”键是动态的,它可以是任何东西。我们不知道它是什么。

我尝试了以下课程:

public class MyResponseClass {
    private Map<String, Object> myResponse;

    //Getter and setter
}

但是使用gson之后myResponse变为null,如下所示:

return gson.fromJson(response, MyResponseClass.class);

那么,我该怎么做呢?

感谢。

3 个答案:

答案 0 :(得分:1)

我可以设法解析它,如下所示:

Type mapType = new TypeToken<Map<String, MyResponseClass>>() {}.getType();
Map<String, MyResponseClass> map = gson.fromJson(response, mapType);

然后在地图上迭代以获得我想要的东西。

答案 1 :(得分:1)

向字段add_file_log添加注释。

myResponse

答案 2 :(得分:0)

试试这个:

// String jsonStr = ...;
Gson gson = new Gson();
Map<String, Object> jsonData = new HashMap<String, Object>();
jsonData = (Map<String, Object>)gson.fromJson(jsonStr, Object.class);

您的JSON数据将存储在Map<String, Object>中(这是用Java存储JSON数据的最简单方法)。

因此,在此unknown键的地图中,您将看到另一张包含idname等的地图。