我正在使用以下类在某个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"));
}
}
这真的很奇怪,因为它似乎甚至没有进入主要方法。我刚验证了JSON文件,它没有任何问题。有人有什么想法吗?感谢。
编辑:我发现这可以在项目中独立运行。只有在Android项目的主程序包中才会发生这种情况。
答案 0 :(得分:1)
这是一个Android项目吗? android项目没有public static void main(...)
。您需要将其放在Activity
。