Как десериализовать карту <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

Любая помощь приветствуется :)

Ответы на вопрос(2)

Ваш ответ на вопрос