0
我正在使用以下类来读取某个URL上的JSON文件并从中创建JSONObject。当在屏幕上输出某些东西时,程序在控制台中没有任何东西被终止。这是代码:我的JsonReader类终止而不打印任何输出
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"));
}
}
这真的很奇怪,因为它似乎甚至没有进入主要方法。我只验证了JSON文件,并没有错。任何人有任何想法?谢谢。
编辑:我发现,这项工作在自己的项目。只有在Android项目的主包中才会发生这种情况。