Ошибка анализа данных org.json.JSONException: значение ‹br типа java.lang.String не может быть преобразовано в JSONObject

Я получаю эту ошибку:

Error parsing data org.json.JSONException: Value

This is my logcat log:

11-11 22:47:28.930: D/my(25127): method equals POST is working
11-11 22:47:28.930: D/my(25127): HTTp client is working
11-11 22:47:28.930: D/my(25127): HTTp post is working
11-11 22:47:28.930: D/my(25127): url encoded
11-11 22:47:29.070: D/my(25127): HTTp response is working
11-11 22:47:29.070: D/my(25127): HTTp entity is working
11-11 22:47:29.070: D/my(25127): getcontent is working
11-11 22:47:29.070: D/my(25127): buffer reader crated
11-11 22:47:29.070: D/my(25127): string buffer object crated
11-11 22:47:29.070: D/my(25127): line appended
11-11 22:47:29.070: D/my(25127): inputstram closed
11-11 22:47:29.070: D/my(25127): string buffer to string conversion
11-11 22:47:29.070: E/JSON Parser(25127): Error parsing data org.json.JSONException: Value prepared of type java.lang.String cannot be converted to JSONObject

Ошибка может быть в скрипте на стороне сервера.

Чистый ответ JSON:

{"success":1,"message":"account successfully created."} 

Я проверил это в своем браузере.


person xyz    schedule 11.11.2014    source источник
comment
Используйте по крайней мере e.printStacktrace или что-то еще, чтобы посмотреть точную трассировку стека ошибки, которая содержит номер проблемной строки.   -  person Luiggi Mendoza    schedule 11.11.2014
comment
столько логов... но вы забыли записать код ответа http и сам ответ...   -  person Selvin    schedule 11.11.2014
comment
что такое ответ, поделитесь им.   -  person Piyush    schedule 11.11.2014
comment
Проще говоря, ваш сервер возвращает HTML, а не чистую строку JSON.   -  person Squonk    schedule 11.11.2014
comment
ответ, который у вас есть, - это значение json, из которого вы создали объект jObj, напечатайте это значение.   -  person Piyush    schedule 11.11.2014
comment
... не тот, что из браузера   -  person Selvin    schedule 11.11.2014
comment
@piyush, о каком ответе ты говоришь? Я могу войти в db, но клиент Android не идентифицируется, потому что ответ JSON со значениями не анализируется.   -  person xyz    schedule 11.11.2014
comment
потому что это не json, xyz почему вы дискутируете с фактами?   -  person Selvin    schedule 11.11.2014
comment
@Selvin Итак, где я могу увидеть чистый ответ JSON?   -  person xyz    schedule 11.11.2014
comment
json = sb.toString(); эта вещь, поскольку это строка, которую вы можете распечатать в журнале, нам нужен этот ответ.   -  person Piyush    schedule 11.11.2014
comment
@piyush, где я могу увидеть чистый ответ JSON   -  person xyz    schedule 11.11.2014
comment
просто распечатайте это и скажите нам json = sb.toString();   -  person Piyush    schedule 11.11.2014


Ответы (3)


Я сам решил вопрос.

В бэкэнд-файле PHP я использовал операторы echo, которые также выводятся как ответ. Таким образом, строка json содержала теги html и/или строки, поэтому ее нельзя было проанализировать.

Удалите все операторы echo или относительные операторы в вашем бэкэнд-файле. Это будет работать. Спасибо.

person xyz    schedule 11.11.2014
comment
Вот что мы говорили json = sb.toString(); это не джсон. - person Piyush; 11.11.2014
comment
@piyush и тебе спасибо - person xyz; 11.11.2014
comment
это не работает ... даже после удаления эха - person kumar kundan; 17.06.2016
comment
Итак, что вы использовали для отправки ответа вместо эха - person Vidor Vistrom; 25.07.2017

Ваша строка json содержит тег <br />, поэтому ее нельзя проанализировать.

Попробуйте указать URL-адрес в браузере и убедитесь, что результат чистый json.

person ToYonos    schedule 11.11.2014
comment
Нет, позвольте мне отредактировать вопрос. - person xyz; 11.11.2014
comment
да... в исключении написано... тут много раз подобные вопросы задавались - person Selvin; 11.11.2014
comment
Что дает URL-адрес, переданный makeHttpRequest, в браузере? - person ToYonos; 11.11.2014
comment
@ToYonos, какой бы URL-адрес ни прошел, код работает до httpPost. - person xyz; 11.11.2014
comment
нет, это не работает... запишите строку json перед синтаксическим анализом... - person Selvin; 11.11.2014

Преобразуйте строку в объект json в методе после выполнения.

person Hemant Singh    schedule 11.02.2015
comment
это не соответствующий ответ - person kumar kundan; 17.06.2016