我在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
解决这个问题的任何帮助都会对我有很大帮助。谢谢

最佳答案

让我们以json的前几个字符为例

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


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

关于java - 无法从String解析为JSONObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18004179/

10-12 05:57