Volley,JSONArrays和Kotlin遇到麻烦

问题描述 投票:-1回答:2

用Volley做到这一点的正确方法是什么?

其余代码可在此处找到:https://gist.github.com/samip5/3a42aa3cdf7d82a543b618d2dda88b4a

它在此跟踪中一直在for循环中崩溃:


E/AndroidRuntime: FATAL EXCEPTION: main
    Process: fi.samipsolutions.voitracker, PID: 9573
    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
     Caused by: org.json.JSONException: Value {"id":"ce13eccc-0054-4189-8b95-047f6e094303","short":"dflm","name":"TEST","zone":122,"type":"como","registration_plate":"","added":"2019-05-29T11:23:40.062842Z","serial":null,"model_specification":null,"status":"ready","bounty":0,"location":[60.45586395263672,22.301359176635742],"battery":52,"locked":true,"updated":"2019-11-20T04:33:23Z","mileage":0} at 0 of type org.json.JSONObject cannot be converted to JSONArray
        at org.json.JSON.typeMismatch(JSON.java:101)
        at org.json.JSONArray.getJSONArray(JSONArray.java:502)
        at fi.samipsolutions.voitracker.activities.MainActivity$loadVehicles$jsonArrayRequest$1.onResponse(MainActivity.kt:43)
        at fi.samipsolutions.voitracker.activities.MainActivity$loadVehicles$jsonArrayRequest$1.onResponse(MainActivity.kt:17)
        at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:90)
        at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:102)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
android kotlin
2个回答
1
投票
for(i in 0 until response.length()) { val item = response.getJSONObject(i) if (item["type"] != "como") { Log.d("JSON_SUCCESS", item["type"].toString()) } }

1
投票
for(i in 0 until response.length()) { val item = response.getJSONObject(i) if (item["type"] != "como") { Log.d("JSON_SUCCESS", item["type"].toString()) } }
© www.soinside.com 2019 - 2024. All rights reserved.