Об исключении JSONArray на Android (и максимальном размере строки) - PullRequest
0 голосов
/ 29 апреля 2011

Я разрабатываю приложение для Android (2.2), в котором из веб-службы я получаю строку, содержащую сериализованную версию списка пользовательских объектов в формате JSON, в результате чего получается строка JSONArray в JSONObject.Полученная строка хорошо сформирована, как я вижу по зрению и как я могу это подтвердить с помощью онлайн-валидатора.Однажды в приложении Android я передаю эту строку в конструктор JSONArray, чтобы получить массив JSONObject.Вот проблема: конструктор JSONArray выдает исключение, утверждая, что в какой-то момент строка заканчивается недействительным терминатором: но точка, указанная в исключении, далека от реального конца строки.Дело в том, что рассматриваемая строка огромна (около 160000 символов): кто-нибудь знает, есть ли ограничение на длину строки при передаче конструктору JSONArray?Строковая переменная, хранящаяся в памяти, является полноразмерной, поэтому мне кажется, что конструктор JSONArray вроде ее усекает.Возможно ли это?

Заранее спасибо, с уважением

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

Хорошо, ребята, это я во всем виноват. Я прочитал строку из http-потока и не понял, что иногда получаю строку, когда она не завершена (отсюда исключение, которое я считал ошибкой JSONArray).

0 голосов
/ 29 апреля 2011

Попробуйте удалить пробелы в конце строки, если они есть, и повторите анализ. Используйте trim () для строки и проверьте один раз.

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