我使用以下代码从格式良好的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 解决这个问题的任何帮助都会对我有所帮助。谢谢
答案 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实用程序方法替换这些字符。