我对GSON相当陌生,并得到了这种格式的JSON响应(只是一个更简单的例子,所以值没有意义):
{
"Thomas": {
"age": 32,
"surname": "Scott"
},
"Andy": {
"age": 25,
"surname": "Miller"
}
}
字符串
我想让GSON把它变成一个Map,PersonData显然是一个Object。name字符串是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
型
任何帮助是赞赏:)
2条答案
按热度按时间huus2vyu1#
下面的示例对我很有用
字符串
并打印
型
你的
PersonData
类可能非常不同。cld4siwp2#
您可以使用
gson.toJsonTree(Object o)
将自定义对象转换为JSON格式。以下是我的工作:
字符串
并打印:
型