java .lang.IllegalArgumentException при использовании GSON - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть эта строка кода

val event = Gson().fromJson(socketResponse.toString(), com.spaxiappuser.service.booking.event.Event::class.java)

, которая выдает ошибку

java .lang.IllegalArgumentException: класс android .widget.TextView объявляет несколько JSON поля с именем mMinWidth

Мой класс данных выглядит следующим образом

класс данных Event (val tripParams: TripParams? = Null, val onDemand: OnDemand? = Null,

    @SerializedName("request_id")
    val requestId: String? = null,

    @SerializedName("driver_userid")
    val driverId: String? = null,

    val due: Due? = null,

    val standard: Standard? = null,

    val isToAllowBackPress: Boolean = false

Может кто-нибудь сообщить мне, почему это происходит?

Вот мой след стека:

 W/System.err: java.lang.IllegalArgumentException: class android.widget.TextView declares multiple JSON fields named mMinWidth
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:172)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
 W/System.err:     at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
 W/System.err:     at com.google.gson.Gson.getAdapter(Gson.java:458)
 W/System.err:     at com.google.gson.Gson.fromJson(Gson.java:926)
 W/System.err:     at com.google.gson.Gson.fromJson(Gson.java:892)
 W/System.err:     at com.google.gson.Gson.fromJson(Gson.java:841)
 W/System.err:     at com.google.gson.Gson.fromJson(Gson.java:813)
 W/System.err:     at com.spaxiappuser.service.socket.EventManager.handleEvent(EventManager.kt:35)
 W/System.err:     at com.spaxiappuser.service.socket.Listener$listen$2.accept(Listener.kt:78)
 W/System.err:     at com.spaxiappuser.service.socket.Listener$listen$2.accept(Listener.kt:15)
 W/System.err:     at io.reactivex.internal.operators.observable.ObservableDoOnEach$DoOnEachObserver.onNext(ObservableDoOnEach.java:93)
 W/System.err:     at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)
 W/System.err:     at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onNext(ObservableCreate.java:66)
 W/System.err:     at com.spaxiappuser.service.socket.Listener$listen$1.subscribe(Listener.kt:50)
 W/System.err:     at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
 W/System.err:     at io.reactivex.Observable.subscribe(Observable.java:12197)
 W/System.err:     at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
 W/System.err:     at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
 W/System.err:     at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
 W/System.err:     at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
 W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 W/System.err:     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
 W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
 W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
 W/System.err:     at java.lang.Thread.run(Thread.java:919)

Любая помощь в выявлении проблемы будет высоко ценится.

1 Ответ

1 голос
/ 25 февраля 2020

Один из классов, на которые ссылается ваша модель, имеет где-то TextView (или расширяет TextView), и GSON пытается интерпретировать его как класс, который будет раздут из JSON.

Найдите его и либо отметьте это поле transient, либо , иначе исключите это поле .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...