Ошибка синтаксического анализа JSON типа java.lang.String не может быть преобразована в JSONObject - PullRequest
0 голосов
/ 11 октября 2019

У меня есть json {user_ip: "XXX.XXX.XXX.XXX"} при разборе json, появляется следующая ошибка

type java.lang.String cannot be converted to JSONObject

Вот мой код

import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject

try {
     val instance: JSONObject = JSONObject(response)
     val asu = instance.getJSONObject("user_ip")
     Log.d("parse_json", asu.toString())
} catch (e: JSONException) {
     Log.d("error_json", e.message)
}

Запрос на получение URL был Content-Type: application / json;charset = UTF-8

{"user_ip":"XXX.XXX.XXX.XXX"}

я попробуйте ручной журнал

val response2 = response 
val response3 = "{user_ip:\"1.1.1.1\"}" 
Log.d("response2",response2) 
Log.d("response3",response3) 

D/response2: "{\"user_ip\":\"XXX.XXX.XXX.XXX\"}" 
D/response3: {user_ip:"1.1.1.1"}

код работает с форматной переменной response3

val response3 = "{user_ip:\"1.1.1.1\"}" 

спасибо

1 Ответ

0 голосов
/ 11 октября 2019

Я думаю, что следующее должно сделать.

val asu = instance.getString("user_ip")

Насколько я понял, response3 не является допустимым JSON. Действительный JSON должен выглядеть следующим образом.

{"user_ip":"1.1.1.1"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...