Как разобрать более сложный JSON с помощью Retrofit 2 в Android Studio

Я пытаюсь разобрать Json из этого API, но мне трудно разобрать его с помощью модификации 2 + gson. У меня есть опыт работы только с менее сложными API. Некоторые крупные округа, такие как Австралия, имеют информацию о субрегионах, в то время как более мелкие страны имеют информацию только о стране в целом. Кто-нибудь может мне помочь?

{
  "Andorra": {
    "All": {
      "confirmed": 12328,
      "recovered": 11570,
      "deaths": 117,
      "country": "Andorra",
      "population": 76965,
      "sq_km_area": 468,
      "life_expectancy": "83.5",
      "elevation_in_meters": "1,996",
      "continent": "Europe",
      "abbreviation": "AD",
      "location": "Southern Europe",
      "iso": 20,
      "capital_city": "Andorra la Vella",
      "lat": "42.5063",
      "long": "1.5218",
      "updated": "2021/04/07 15:21:32+00"
    }
  },
  "Australia": {
    "All": {
      "confirmed": 29379,
      "recovered": 23049,
      "deaths": 909,
      "country": "Australia",
      "population": 24450561,
      "sq_km_area": 7741220,
      "life_expectancy": "79.8",
      "elevation_in_meters": 330,
      "continent": "Oceania",
      "abbreviation": "AU",
      "location": "Australia and New Zealand",
      "iso": 36,
      "capital_city": "Canberra"
    },
    "Australian Capital Territory": {
      "lat": "-35.4735",
      "long": "149.0124",
      "confirmed": 123,
      "recovered": 120,
      "deaths": 3,
      "updated": "2021/04/07 15:21:32+00"
    },
    "New South Wales": {
      "lat": "-33.8688",
      "long": "151.2093",
      "confirmed": 5316,
      "recovered": 0,
      "deaths": 54,
      "updated": "2021/04/07 15:21:32+00"
    },
    "Northern Territory": {
      "lat": "-12.4634",
      "long": "130.8456",
      "confirmed": 112,
      "recovered": 106,
      "deaths": 0,
      "updated": "2021/04/07 15:21:32+00"
    },
    "Queensland": {
      "lat": "-27.4698",
      "long": "153.0251",
      "confirmed": 1497,
      "recovered": 1366,
      "deaths": 6,
      "updated": "2021/04/07 15:21:32+00"
    },
    "South Australia": {
      "lat": "-34.9285",
      "long": "138.6007",
      "confirmed": 662,
      "recovered": 649,
      "deaths": 4,
      "updated": "2021/04/07 15:21:32+00"
    },
    "Tasmania": {
      "lat": "-42.8821",
      "long": "147.3272",
      "confirmed": 234,
      "recovered": 221,
      "deaths": 13,
      "updated": "2021/04/07 15:21:32+00"
    },
    "Victoria": {
      "lat": "-37.8136",
      "long": "144.9631",
      "confirmed": 20484,
      "recovered": 19663,
      "deaths": 820,
      "updated": "2021/04/07 15:21:32+00"
    },
    "Western Australia": {
      "lat": "-31.9505",
      "long": "115.8605",
      "confirmed": 951,
      "recovered": 924,
      "deaths": 9,
      "updated": "2021/04/07 15:21:32+00"
    }
  }
}

что ты уже испробовал?

Jake Lee 07.04.2021 20:40

Я пробовал использовать робопожогенератор, но он создал более 400 классов.

Alex Wesley 07.04.2021 20:45

«он создал более 400 классов», это действительно потрясающе, не используйте дрянные инструменты, но предпочитайте использовать созданные вручную сопоставления, которые в конечном итоге привели бы к Map в вашем случае, когда эти инструменты не работают.

fluffy 07.04.2021 20:54
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
23
0

Другие вопросы по теме