Android String无法转换为JSONObject(不同的错误)

时间:2014-05-30 07:31:44

标签: android json

我正在尝试从Web服务解析JSON。但我得到“字符串无法转换为Json对象”错误。

我的json:{"encoding":"UTF-8","yorumlar":[["dogukan","deneme yorumu"],["Burak","yorum"]]} 我得到这个字符串如下;

HttpClient client = new DefaultHttpClient();
            HttpUriRequest request = new HttpGet(url);
            HttpResponse response = null;
            try
            {
                response = client.execute(request);
                String jsonString = StreamUtils.convertToString(response.getEntity().getContent());
                JSONObject json = new JSONObject(jsonString);
                .
                .
                .

当我从上面的网络服务获得此字符串时,我收到此错误但是当我这样做时:

JsonObject object = new JsonObject("{\"encoding\":\"UTF-8\",\"yorumlar\":[[\"dogukan\",\"deneme yorumu\"],[\"Burak\",\"yorum\"]]}")

我没有收到此错误。所以,字符串是相同的,json格式是可以的。有什么问题?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,json字符串以这些字符开头“”。但这些字符不会出现在调试模式下。我创建了一个java项目。我从服务器获得了json字符串。我在调试模式下看到了这些字符。 Java项目给了我更多关于转换错误的细节。

如果您尝试在调试模式下获取这些值:

jsonString.toCharArray()[0]和jsonString.toCharArray()[1]

您会看到值为“”,而不是“{”。这不是空间,但不会出现。和“{”字符位于2. index。

我们已经解决了服务器端的问题。我猜这是一个页面编码问题。