JsonArray a la class de datos de Kotlin con Retrofit (se esperaba BEGIN_OBJECT pero era BEGIN_ARRAY)
Estoy usando Retrofit2
fun create(): MyApiService { return Retrofit.Builder() .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .addConverterFactory(GsonConverterFactory.create()) .baseUrl(BASE_URL) .build() .create(MyApiService::class.java) }
convertir implícitamente el siguiente Json
- Cómo burlarse del repository reactivo que devuelve Observable
- No se puede 'observar en' hilo principal con RxKotlin
- Cómo upload el valor de retorno de un constructor
- ¿Cómo especificar la versión de RxJava al usar RxKotlin?
- consultas de múltiples dominios de Android con RXJava
[{ "id": 1, "name": "John", }, { "id": 2, "name": "Mary", } ]
en una class de datos de Kotlin
object Model { data class Person(val id: Int, val name: String) }
Sin embargo, Expected BEGIN_OBJECT but was BEGIN_ARRAY
el Expected BEGIN_OBJECT but was BEGIN_ARRAY
error Expected BEGIN_OBJECT but was BEGIN_ARRAY
al intentar
@GET("/people.json") fun getPeople() : Observable<Model.Person>
He intentado cambiar el object Model
para que se extienda desde List (como haría normalmente en Retrofit 1 con Java) o crear un campo List
de personas, pero fue en vano.
- Rx-Kotlin awaitTerminalEvent nunca se sube a Completo
- ¿Cómo escalar dinámicamente el rebote de la stream de emisión de ráfagas?
- rxjava2 - ejemplo simple de ejecutar tareas en un grupo de subprocesss, suscribirse en un solo hilo
- RxJava2 observable no procesando en Siguiente cuando hay un cambio
- Observable.combineLa causa de error más reciente después de actualizar a RxJava 2.xx - no se puede inferir el tipo
- Ingrese los valores propios para combinarlos
- Escuchar posts y escribir commands en un flujo observable
- Cómo hacer un event handling errores en rxjava2 en android
Descubrí que no tenía que cambiar el object de datos.
La solución es simplemente decirle al método de llamada que recupere una List
de models en lugar del model en sí.
@GET("/people.json") fun getPeople() : Observable<List<Model.Person>>
Ejemplo clásico de cómo un problema difícil se puede resolver usando un enfoque simple. Bien hecho, Retrofit
!
- ¿Hay alguna manera de vincular una propiedad a appConfig en tornadofx?
- ¿Cómo unir dos tablas en Android usando el método de consulta del proveedor de contenido?