JSONArray не может быть преобразован в значение JSONObject [«1»]

#android #json #android-studio #kotlin #android-volley

Вопрос:

Я создал JSONRequest с помощью volley, используя этот учебник https://www.tutorialspoint.com/how-to-use-volley-library-to-parse-json-in-android-kotlin-app

Blynk APi возвращает этот «1»

у меня эта ошибка вызвана: org.json.JSONException: Значение [«1»] типа org.json.JSONArray не может быть преобразовано в JSONObject

 private fun jsonParse() {
    val url = "http://blynk-cloud.com/4ae3851817194e2596cf1b7103603ef8/get/D8"
    val request = JsonObjectRequest(Request.Method.GET, url, null, { response ->
        try {
            val JSONObject = response.getJSONArray("test")
            for (i in 0 until JSONObject.length()) {
                val test = JSONObject.getJSONObject(i)
                val status = test.getString("test1")
                textView.append("$status")
            }
        } catch (e: JSONException) {
            e.printStackTrace()
        }
    }, { error -> error.printStackTrace() })
    requestQueue?.add(request)
}
 

Комментарии:

1. Прямо сейчас у вас есть этот ответ от API [«1»]. Но в соответствии с вашим кодом у вас должен быть ответ, который выглядит примерно так {«тест»:[{«test1″:»здесь какой-то текст»}]}

Ответ №1:

Очевидно, что строка JSON ответа неверна. Я проверил строку JSON с URL в Firefox, она показывает: ошибка JSON

Я думаю, что использовать этот стиль JSON для тестирования-это нонсенс. Если вы хотите протестировать синтаксический анализ JSON с помощью библиотеки Volley, вы можете использовать общедоступный API для его тестирования.