Как десериализовать карту <String, Object> с помощью GSON
я довольно новичок в GSON и получаю ответ JSON этого формата (более простой пример, поэтому значения не имеют смысла):
{
"Thomas": {
"age": 32,
"surname": "Scott"
},
"Andy": {
"age": 25,
"surname": "Miller"
}
}
Я хочу, чтобы GSON сделал это Map, PersonData, очевидно, является объектом. Строка имени является идентификатором 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
Любая помощь приветствуется :)