Я работаю над приложением для Android. В моем приложении мне нужно преобразовать строку в объект Json, а затем проанализировать значения. Я проверил решение в stackoverflow и нашел аналогичную проблему здесь, ссылка
Решение такое
`{"phonetype":"N95","cat":"WP"}`
JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
Я использую то же самое в своем коде. Моя строка
{"ApiInfo":{"description":"userDetails","status":"success"},"userDetails":{"Name":"somename","userName":"value"},"pendingPushDetails":[]}
string mystring= mystring.replace("\"", "\\\"");
И после замены я получил такой результат
{\"ApiInfo\":{\"description\":\"userDetails\",\"status\":\"success\"},\"userDetails\":{\"Name\":\"Sarath Babu\",\"userName\":\"sarath.babu.sarath babu\",\"Token\":\"ZIhvXsZlKCNL6Xj9OPIOOz3FlGta9g\",\"userId\":\"118\"},\"pendingPushDetails\":[]}
когда я выполняю JSONObject jsonObj = new JSONObject(mybizData);
Я получаю следующее исключение json
org.json.JSONException: Expected literal value at character 1 of
Пожалуйста, помогите мне решить мою проблему.
Ответы:
Уберите косые черты:
источник
JSONArray obj = new JSONArray(json);
. Затем вы можете использовать цикл for для перебора массива.{"Fat cat":"meow"}
.это работает
источник
попробуй это:
источник
Чтобы получить JSONObject или JSONArray из String, я создал этот класс:
Вот, чтобы получить JSON:
Пример:
источник
[
или{
знать , является ли массив или объект. Тогда вы не будете рисковать обоими исключениями, только подходящим.Вам просто нужны строки кода, как показано ниже:
источник
просто попробуйте это, наконец, это сработает для меня:
источник
Вот код, и вы можете решить, какой
(синхронизированный) StringBuffer или более быстрый StringBuilder использовать.
Тест показывает, что StringBuilder работает быстрее.
источник
Может быть ниже лучше.
источник