Java - чтение JSON с именами динамических ключей - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть 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 с частично статическими и динамическими полямиключи тоже?

Заранее спасибо.

...