如何使用GSON反序列化Map<String,Object>
2022-09-03 10:08:05
我对GSON相当陌生,并获得了这种格式的JSON响应(只是一个更简单的例子,所以这些值没有意义):
{
"Thomas": {
"age": 32,
"surname": "Scott"
},
"Andy": {
"age": 25,
"surname": "Miller"
}
}
我希望GSON使它成为一个Map,PersonData显然是一个对象。名称字符串是人员数据的标识符。
正如我所说,我对GSON非常陌生,只尝试了以下方法:
Gson gson = new Gson();
Map<String, PersonData> decoded = gson.fromJson(jsonString, new TypeToken<Map<String, PersonData>>(){}.getType());
但这抛出了错误:
Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 3141
任何帮助是值得赞赏的:)