java.lang.IllegalArgumentException 使用 GSON

java.lang.IllegalArgumentException while using GSON

我有这行代码

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

这会引发错误

java.lang.IllegalArgumentException: class android.widget.TextView declares multiple JSON fields named mMinWidth

我的数据class如下

数据class事件( val tripParams:TripParams? =空, val onDemand:按需? =空,

    @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.accept(Listener.kt:78)
 W/System.err:     at com.spaxiappuser.service.socket.Listener$listen.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.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)

非常感谢您在确定问题方面的任何帮助。

其中一个 classes 你的模型引用在其中某处有一个 TextView(或扩展 TextView),而 GSON 试图将其解释为一个 class 被夸大来自 JSON.

找到它并标记该字段 transient,或 otherwise exclude that field