读取此Json de数组时遇到问题
这是Json的一半 阶级 如果我移除[],它就会工作 Json完成 错误 W/System.err:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:应为BEGIN\u对象,但为 从第1行第2列路径开始\u数组$ W/System.err:com.google.gson.internal.bind.ReflectTypeAdapterFactory$Adapter.ReadReflectTypeAdapterFactory.java:226 在2.converter.gson.GsonResponseBodyConverter.convertGsonResponseBodyConverter.java:39 在2.converter.gson.GsonResponseBodyConverter.convertGsonResponseBodyConverter.java:27 在2.OkHttpCall.parseResponseOhttpCall.java:225 OkHttpCall.executeOkHttpCall.java:188 在Reformation2.adapter.rxjava2.CallExecuteObservable.subscribeActualCallExecuteObservable.java:45 在io.reactivex.Observable.subscribeObservable.java:12051 在2.adapter.rxjava2.BodyObservable.subscribeActualBodyObservable.java:34 在io.reactivex.Observable.subscribeObservable.java:12051 在io.reactivex.internal.operators.observable.observablesubscribeeon$subscribebetask.runobservablesubscribeeon.java:96 在io.reactivex.Scheduler$DisposeTask.runScheduler.java:579 位于io.reactivex.internal.schedulers.ScheduledRunnable.runScheduledRunnable.java:66 位于io.reactivex.internal.schedulers.ScheduledRunnable.callScheduledRunnable.java:57 位于java.util.concurrent.FutureTask.runFutureTask.java:266 位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runScheduledThreadPoolExecutor.java:301 位于java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1167 位于java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:641 java:919 W/System.err:原因:java.lang.IllegalStateException:应为BEGIN_对象,但在第1行第2列路径处为BEGIN_数组$ 位于com.google.gson.stream.JsonReader.beginObjectJsonReader.java:385 位于com.google.gson.internal.bind.ReflectTypeAdapterFactory$Adapter.ReadReflectTypeAdapterFactory.java:215 ... 还有17个 I/System.out:Erro não esperado!科特林单位读取此Json de数组时遇到问题,json,kotlin,gson,retrofit,rx-java,Json,Kotlin,Gson,Retrofit,Rx Java,这是Json的一半 阶级 如果我移除[],它就会工作 Json完成 错误 W/System.err:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:应为BEGIN\u对象,但为 从第1行第2列路径开始\u数组$ W/System.err:com.google.gson.internal.bind.ReflectTypeAdapterFactory$Adapter.ReadReflectTypeAdapter
看来你得换个口味了ListItensMesa@Queryidmesasidmesas:字符串?:可观察到乐趣ListItensMesa@Queryidmesasidmesas:String?:可观察,因为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",
"ITENS_VENDA_QUANTIDADE": 1,
"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())
})
}
[
{
"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",
"ITENS_VENDA_QUANTIDADE": 1,
"PRECOVENDA_PRODUTO": 55,
"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_IDPEDIDOS": 533,
"ITENS_IDCOMPLEMENTO": 15,
"COMPLEMENTO_DESCRICAO": "COM FEIJOADA",
"COMPLEMENTO_VALOR": 5.5
},
{
"IDITENS_COMPLEMENTO": 548,
"ITENS_IDPEDIDOS": 533,
"ITENS_IDCOMPLEMENTO": 7,
"COMPLEMENTO_DESCRICAO": "OVO",
"COMPLEMENTO_VALOR": 1.5
},
{
"IDITENS_COMPLEMENTO": 549,
"ITENS_IDPEDIDOS": 533,
"ITENS_IDCOMPLEMENTO": 6,
"COMPLEMENTO_DESCRICAO": "BACON",
"COMPLEMENTO_VALOR": 3.5
},
{
"IDITENS_COMPLEMENTO": 550,
"ITENS_IDPEDIDOS": 533,
"ITENS_IDCOMPLEMENTO": 17,
"COMPLEMENTO_DESCRICAO": "COM ACOMPANHAMENTO",
"COMPLEMENTO_VALOR": 8.5
}
]
}
]