Cómo resolver JSON retrofit de error con Respuesta Diferida

He seguido con el tutorial : https://android.jlelse.eu/android-networking-in-2019-retrofit-with-kotlins-coroutines-aefe82c4d777

Necesito recuperar datos en JSON formato, me sale el siguiente mensaje de error :

com.squareup.moshi.JsonDataException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $*

Miré a esta respuesta, pero no sé cómo adaptarla a mi código : Retrofit Espera BEGIN_OBJECT pero fue BEGIN_ARRAY

Este es mi interfaz

interface LocationService {
    @GET("locations?countryid=fr")
    fun getLocationList() : Deferred<Response<LocationResponse>>
}

LocationResponse

data class LocationResponse (val results : List<Location>)

Ubicación De La Modelo

data class Location (
    @field:Json(name = "id") val id : String,
    @field:Json(name = "category") val category : String,
    @field:Json(name = "label") val label : String,
    @field:Json(name = "value") val value : String
)

El JSON es como este

[
  {
    "id":"city_39522",
    "category":"Villes",
    "label":"Parisot (81310)",
    "value":null
 },
 {
   "id":"city_36661",
   "category":"Villes",
   "label":"Paris 9ème (75009)",
   "value":null
 },
 {
   "id":"city_39743",
   "category":"Villes",
   "label":"Parisot (82160)",
   "value":null
 }
]

Ya estoy recibiendo una lista, no veo cómo corregir el error ?

0
2019-09-18 14:21:51
fuente
0 respuestas

Vea otras preguntas sobre etiquetas