Android org.json.JSONException:字符1526处的未终止对象

时间:2015-06-27 15:09:37

标签: android json

我遇到了以下问题,我暂时陷入困境,不知道问题是什么

我收到错误

org.json.JSONException:字符1526处未终止的对象,如下面的响应字符串打印

enter image description here

并按照我的方法

HTTPResponse

有人可以告诉我这里有什么问题吗?

1 个答案:

答案 0 :(得分:0)

最可能的问题是您使用错误的字符编码来读取流。

这样的一行代码:

Reader objectReader = new InputStreamReader(response.getEntity().getContent());

总是很危险,因为您没有明确指定要使用的字符集。

你可以试试这个:

Reader objectReader = new InputStreamReader(response.getEntity().getContent(), "UTF-8");

如果您知道您的服务器正在发送UTF-8内容。

处理此问题的最佳方法是阅读响应中的Content-Type标题,如下所示:

Content-Type: application/json; charset=UTF-8

在“charset =”之后解析字符串并将其作为字符集名称传递。

实际上,您正在指定服务器所说的字符集。

但要小心:charset参数是可选的,可能不存在。

作为极端后备,您可以捕获JSONException并使用不同的编码重试解析。您必须在某处缓冲响应,以便重新读取它。