我的 HttpPost 的 json 响应有问题,该响应包含类似 … 的字符;这会导致在创建 jsonobject 或 jsonarray 时生成异常。
有人知道如何解码吗?我必须在请求中添加 header 吗?
非常感谢。
编辑:
我已经使用了 log cat,这是异常(exception)
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)
…
是通过堆栈溢出直接转换的
最佳答案
也许这不是编码问题:从我看到的错误日志中,您尝试将 String
转换为 JSONArray
。我不是 JSON 领域的专家,但 JSONArray
是一个集合,我希望您尝试将字符串(包括椭圆字符)添加到(现有的)JSON 数组,而不是尝试从字符串创建数组。
JSON 期望所有字符串均为 UTF-8 格式,因此它确实应该能够处理椭圆字符。
关于java - 特殊字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4076035/