无法从String解析为JSONObject

时间:2013-08-01 20:44:11

标签: java json org.json

我使用以下代码从格式良好的String转换为Java中的JSONObject:

public void getStatus(){
    String status = "";
    try{
        String line;
        StringBuilder result = new StringBuilder("");
        HttpURLConnection conn;
        URL url;
        url = new URL("http://bromio.com.mx/explore/PointOfInterestService.svc/GetData");
        BufferedReader rd;
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        while ((line = rd.readLine()) != null) {
            result.append(line);
        }
        rd.close();
        Log.d("JSON: ", result.toString());
        JSONObject jsonObject = new JSONObject(result.toString());
    }catch (Exception e){
        e.printStackTrace();
    }
}

但它抛出异常,似乎我无法将该特定字符串强制转换为JSONObject。 JSON可以在这个页面中加入:(它太大了,无法显示!)http://bromio.com.mx/explore/PointOfInterestService.svc/GetData 解决这个问题的任何帮助都会对我有所帮助。谢谢

1 个答案:

答案 0 :(得分:3)

让我们来看看你的json的前几个字符

 "{ \"poi\":[\u000d\u000a  
 ^  ^    ^   ^^^^^^
 |  |    |      |-----------> not sure about all this
 |  |    -------------------> not acceptable in json
 |  ------------------------> not acceptable in json
 ---------------------------> not acceptable in json

您从该网站获得的内容不是有效的根json。如果您可以控制它,请修复您的来源。或者使用String实用程序方法替换这些字符。