我在阅读Json de Array

问题描述

这是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 (将#修改为@)