我的JsonReader类在没有打印任何输出的情况下终止

时间:2012-11-21 21:23:29

标签: java android json bufferedreader

我正在使用以下类在某个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项目的主程序包中才会发生这种情况。

1 个答案:

答案 0 :(得分:1)

这是一个Android项目吗? android项目没有public static void main(...)。您需要将其放在Activity