我对HttpPost的json响应有问题,resposnse包含像&的字符。 hellip;这导致在创建jsonobject或jsonarray时生成异常。
任何人都知道如何解码它?我必须在请求中添加标题吗?
非常感谢。
编辑:
我已经使用了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 ;
由堆栈溢出直接转换
答案 0 :(得分:1)
也许这不是编码问题:从我看到的错误日志中,您尝试将String
转换为JSONArray
。我不是JSON域的专家,但JSONArray
是一个集合,我希望你尝试将字符串(包括椭圆字符串)添加到(现有的) )JSON数组,而不是试图从字符串中创建一个数组。
JSON希望所有字符串都采用UTF-8格式,因此它应该能够处理椭圆字符。