проблема со спецсимволом - PullRequest
0 голосов
/ 02 ноября 2010

У меня проблема с JSON-ответом HttpPost, ответ содержит символ, подобный & hellip;и это вызывает генерацию исключения при создании jsonobject или jsonarray.

Кто-нибудь знает, как его декодировать?мне нужно добавить заголовок в запрос?

спасибо большое.

edit:

я уже использовал log cat, и это исключение

11-02 09:17:54.472: WARN/System.err(1382): org.json.JSONException: Value XXXXXX& hellip; at authors of type java.lang.String cannot be converted to JSONArray
11-02 09:17:54.492: WARN/System.err(1382):     at org.json.JSON.typeMismatch(JSON.java:96)
11-02 09:17:54.492: WARN/System.err(1382):     at org.json.JSONObject.getJSONArray(JSONObject.java:548)
11-02 09:17:54.492: WARN/System.err(1382):     at org.liquidjournal.httpProxy.ResourceManager.getAuthors(ResourceManager.java:127)
11-02 09:17:54.492: WARN/System.err(1382):     at org.liquidjournal.MyJournalGroup$PostResource.doInBackground(MyJournalGroup.java:291)
11-02 09:17:54.492: WARN/System.err(1382):     at org.liquidjournal.MyJournalGroup$PostResource.doInBackground(MyJournalGroup.java:1)
11-02 09:17:54.492: WARN/System.err(1382):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
11-02 09:17:54.492: WARN/System.err(1382):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-02 09:17:54.492: WARN/System.err(1382):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-02 09:17:54.492: WARN/System.err(1382):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
11-02 09:17:54.492: WARN/System.err(1382):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
11-02 09:17:54.492: WARN/System.err(1382):     at java.lang.Thread.run(Thread.java:1102)

& hellip ; преобразуется непосредственно переполнением стека

1 Ответ

1 голос
/ 02 ноября 2010

Возможно, это не проблема кодирования: из журнала ошибок я вижу, что вы пытаетесь преобразовать String в JSONArray.Я не эксперт в области JSON, но JSONArray - это коллекция, и я ожидаю, что вы попытаетесь добавить строку (включая символ эллипса) в (существующий) массив JSONвместо того, чтобы пытаться создать массив из строки.

JSON ожидает, что все строки будут в формате UTF-8, поэтому он действительно должен иметь возможность обрабатывать символ эллипса.

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