J'essaie de mapper un json à une classe de données dans kotlin

JSON:

{
  "TimeZones": [
    {
      "MapZone": {
        "Other": "Afghanistan Standard Time",
        "Type": "Asia/Kabul",
        "Territory": "001"
      }
    }
  ]
}

Mes données classe TimeZones.kt

data class TimeZones (
        @Expose var TimeZones: List<MapZone>? = null
)

data class MapZone (
        @Expose var Other: String? = null,
        @Expose var Type: String? = null,
        @Expose var Territory: String? = null
)

Mais lorsque j'exécute ce code, les valeurs d'attribut mapzone sont toujours nulles

Gson().fromJson(Utils.readJSONFroRaw(), TimeZones::class.java)

Je veux mapper cela correctement

0
UIB 8 sept. 2020 à 14:04

1 réponse

Meilleure réponse

Il vous manque un niveau de la structure :

data class TimeZones (
        @Expose var TimeZones: List<TimeZone>? = null
)

data class TimeZone (
        @Expose var MapZone: MapZone? = null
)

data class MapZone (
        @Expose var Other: String? = null,
        @Expose var Type: String? = null,
        @Expose var Territory: String? = null
)
0
Mafor 8 sept. 2020 à 11:47