我已经看到了使用动态密钥解析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);
那么,我该怎么做呢?
感谢。
答案 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
键的地图中,您将看到另一张包含id
,name
等的地图。