问题描述
这是Json的一半
[
{
"pratos": [
{
"IDITENS_vendA": 539,"DESCRICAO_PRODUTO": "X BAICON","ITENS_vendA_QUANTIDADE": 1,"PRECOvendA_PRODUTO": 14.5,"vendAS_VALOR_vendA": 97
},{
"IDITENS_vendA": 540,"DESCRICAO_PRODUTO": "ESPETINHO","PRECOvendA_PRODUTO": 55,"vendAS_VALOR_vendA": 97
}
]
}
]
课程
class Itens_Mesa(
@Serializedname("IDITENS_vendA")
val IDITENS_vendA : String,@Serializedname("DESCRICAO_PRODUTO")
val DESCRICAO_PRODUTO : String,@Serializedname("ITENS_vendA_QUANTIDADE")
val ITENS_vendA_QUANTIDADE : String,@Serializedname("PRECOvendA_PRODUTO")
val PRECOvendA_PRODUTO : Double,@Serializedname("vendAS_VALOR_vendA")
val vendAS_VALOR_vendA : Double
) {
class Itens_Mesa_Pratos(
@Serializedname("pratos")
val MESA_LIST_PRATOS: List<Itens_Mesa>
)
}
致电
@GET("itens_mesa")
fun ListItensMesa(@Query("idmesas")idmesas : String?):Observable<Itens_Mesa.Itens_Mesa_Pratos>
fun Lista_Itens(){
disposable = client.ListItensMesa(idmesas)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ result ->
Log.e(" Result ",result.MESA_LIST_PRATOS[0].DESCRICAO_PRODUTO)
// viewadapter = Itens_Mesa_Adapter(result.MESA_LIST_PRATOS,this)
// recyclerViewItens_Mesa.adapter = viewadapter
},{
error ->
println(" Erro não esperado! " + error.printstacktrace())
})
}
如果我删除了[],它将正常工作。
Json完成
[
{
"pratos": [
{
"IDITENS_vendA": 539,"vendAS_VALOR_vendA": 97
},{
"IDITENS_vendA": 540,"vendAS_VALOR_vendA": 97
}
]
},{
"complementos": [
{
"IDITENS_COMPLEMENTO": 546,"ITENS_IDPEDIDOS": 533,"ITENS_IDCOMPLEMENTO": 16,"COMPLEMENTO_DESCRICAO": "COM BIFÉ","COMPLEMENTO_VALOR": 8.5
},{
"IDITENS_COMPLEMENTO": 547,"ITENS_IDCOMPLEMENTO": 15,"COMPLEMENTO_DESCRICAO": "COM FEIJOADA","COMPLEMENTO_VALOR": 5.5
},{
"IDITENS_COMPLEMENTO": 548,"ITENS_IDCOMPLEMENTO": 7,"COMPLEMENTO_DESCRICAO": "OVO","COMPLEMENTO_VALOR": 1.5
},{
"IDITENS_COMPLEMENTO": 549,"ITENS_IDCOMPLEMENTO": 6,"COMPLEMENTO_DESCRICAO": "BACON","COMPLEMENTO_VALOR": 3.5
},{
"IDITENS_COMPLEMENTO": 550,"ITENS_IDCOMPLEMENTO": 17,"COMPLEMENTO_DESCRICAO": "COM ACOMPANHAMENTO","COMPLEMENTO_VALOR": 8.5
}
]
}
]
W / System.err:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:预期为BEGIN_OBJECT,但之前为 BEGIN_ARRAY在第1行第2列路径$ W / System.err:位于com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $ Adapter.read(ReflectiveTypeAdapterFactory.java:226) 在retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:39) 在retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:27) 在retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:225) 在retrofit2.OkHttpCall.execute(OkHttpCall.java:188) 在retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:45) 在io.reactivex.Observable.subscribe(Observable.java:12051) 在retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34) 在io.reactivex.Observable.subscribe(Observable.java:12051) 在io.reactivex.internal.operators.observable.ObservableSubscribeOn $ SubscribeTask.run(ObservableSubscribeOn.java:96) 在io.reactivex.Scheduler $ disposeTask.run(Scheduler.java:579) 在io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) 在io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 在java.util.concurrent.FutureTask.run(FutureTask.java:266) 在java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641) 在java.lang.Thread.run(Thread.java:919) W / System.err:原因:java.lang.IllegalStateException:预期为BEGIN_OBJECT,但在第1行第2列路径$处为BEGIN_ARRAY 在com.google.gson.stream.JsonReader.beginobject(JsonReader.java:385) 在com.google.gson.internal.bind.ReflectiveTypeAdapterFactory $ Adapter.read(ReflectiveTypeAdapterFactory.java:215) ...另外17个 I / System.out:Erronãoesperado! kotlin.Unit
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)