我有一个如下所示的对象数组。
{
"propone": {
"proponeone": {
"a": 1,
"b": 1,
"c": 1
},
"proponetwo": {
"a": 1
},
"proponethree": {
"a": 1,
"b": 1
},
"proponethree": {
"a": 1,
"b": 1,
"c": 1
}
},
"proptwo": {
"proptwoone": [
"val1",
"val2",
"val3",
"val4"
],
"proptwoone": [
"val5",
"val6",
"val7"
]
}
}
我将此数组读取为 JsonObject,并且想要反序列化此对象数组。我想将“proptwoone”放入 HashMap
类型 <String, ArrayList<String>>
。有没有办法做到这一点?我使用Gson。
最佳答案
如果您的 JSON 结构始终是这样,您可以尝试创建一个这样的类,对您不感兴趣的部分使用通用 Object
:
public class Response {
public Object propone;
public HashMap<String, ArrayList<String>> proptwo;
}
然后只需使用以下方法解析您的 JSON:
Response response = gson.fromJson(yourJsonString, Response.class);
您的 HashMap
将位于:
response.proptwo
但我想如果您有重复的字段名称proptwoone
...
关于java - 反序列化复杂的 gson - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22671060/