我正在使用以下类来读取某个 URL 上的 JSON 文件并从中创建一个 JSONObject。在屏幕上输出某些内容时,程序会终止,控制台中没有任何内容。这是代码:
public class JsonReader {
private static String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
is.close();
}
}
public static void main(String[] args) throws IOException, JSONException {
System.out.println("in main!");
JSONObject json = readJsonFromUrl("http://somesubdomain.domain.com/blabla.json");
//System.out.println(json.get("id"));
}
}
这真的很奇怪,因为它似乎甚至没有进入 main 方法。我刚刚验证了 JSON 文件,没有任何问题。有人知道吗?谢谢。
编辑:我发现这在一个项目中是独立的。这只发生在 Android 项目的主包中。