У меня есть JSON, который выглядит следующим образом:
{
"code": 200,
"results": [
{
"_id": "210574931",
"smcp": "139475012",
"AABCD": {},
"ABCXDEF": {},
"ABCD": {},
"ABCDEF": {},
"ASDF": {}
}
]
}
Клавиши ABCD являются динамическими, остальное - статическими.Как правильно прочитать динамические ключи / значения?
Для статических я использую аннотацию @SerializedName ("code"), и она работает.Я провел некоторый поиск, кажется, я могу сделать что-то вроде этого:
Type mapType = new TypeToken<Map<String, ABCD> >() {}.getType(); // ABCD is sample class to store "AABCD", "ABCXDEF", etc...
Gson gson = new Gson();
Map<String, PmcPrice.Locale> result = gson.fromJson(json, mapType);
Но это не удается, потому что не все мои JSON являются объектами ABCD.Существуют статические поля, такие как «код», «_id», «smcp»
Это исключение, которое я получаю: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 2 column 14 path $.
Как я могу обрабатывать JSON с частично статическими и динамическими полямиключи тоже?
Заранее спасибо.