Java 如何使用Gson解析以下json?

Java 如何使用Gson解析以下json?,java,json,gson,Java,Json,Gson,我已经看到了关于使用动态键解析json的类似问题,但无法理解如何解析以下json: { "unknown": { "id":3980715, "name":"namename", "profileIconId":28, "revisionDate":1451936993000 } } 在这里,“未知”键是动态的,它可以是任何东西。我们不知道这是什么 我尝试了以下课程: public class

我已经看到了关于使用动态键解析json的类似问题,但无法理解如何解析以下json:

{
    "unknown": 
     {
         "id":3980715,
         "name":"namename",
         "profileIconId":28,
         "revisionDate":1451936993000
     }
}
在这里,“未知”键是动态的,它可以是任何东西。我们不知道这是什么

我尝试了以下课程:

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

    //Getter and setter
}
那么,我该怎么做呢

谢谢。

试试这个:

// String jsonStr = ...;
Gson gson = new Gson();
Map<String, Object> jsonData = new HashMap<String, Object>();
jsonData = (Map<String, Object>)gson.fromJson(jsonStr, Object.class);
//字符串jsonStr=。。。;
Gson Gson=新的Gson();
Map jsonData=newhashmap();
jsonData=(Map)gson.fromJson(jsonStr,Object.class);
JSON数据将存储在
Map
(这是在Java中存储JSON数据最简单的方法)


因此,在
unknown
键处的这个映射中,您将拥有另一个带有
id
name
等的映射。

我可以像下面这样解析它:

return gson.fromJson(response, MyResponseClass.class);
Type mapType = new TypeToken<Map<String, MyResponseClass>>() {}.getType();
Map<String, MyResponseClass> map = gson.fromJson(response, mapType);
Type-mapType=new-TypeToken(){}.getType();
Map Map=gson.fromJson(响应,映射类型);

然后在map上迭代以得到我想要的。

在字段
myResponse
中添加注释

public class MyResponseClass {
    @SerializedName("unknown")
    private Map<String, Object> myResponse;

    //Getter and setter
}
公共类MyResponseClass{
@序列化名称(“未知”)
私人地图;
//接二连三
}

它的副本与此类似,但我认为它不是副本。我的回答中只有object这个问题的解决方案解决了你的问题我用另一种方式解决了它,并发布了答案'Map jsonData=(Map)gson.fromJson(jsonStr,object.class)`就足够了