次のクラスを使用して、ある 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 プロジェクトのメイン パッケージでのみ発生します。