JSON_ENTRY 内を JSON の内容に合わせて作成しておくだけで、一行の処理で全てセットしてくれます。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import com.google.gson.Gson; public class HttpAndGet { public static void main(String[] args) { String http_string = HttpGet(); System.out.println(http_string); // Gson を作成 Gson gson = new Gson(); // 全体の文字列を JSON_ENTRY クラスに投入 // ( 未定義のものは無視されます ) JSON_ENTRY je = gson.fromJson(http_string,JSON_ENTRY.class); // 一覧表示 for( int i = 0; i < je.winofsql.length; i++ ) { System.out.println(je.winofsql[i]); } } // ****************************************************************** // JSON を インターネットから取得する // ****************************************************************** public static String HttpGet() { String json_string = ""; try { // JSON の URL URL url = new URL("http://toolbox.winofsql.jp/json/sample2.json"); // 接続オブジェクト HttpURLConnection http = (HttpURLConnection)url.openConnection(); http.setRequestMethod("GET"); // 接続 http.connect(); // UTF-8 でリーダーを作成 InputStreamReader isr = new InputStreamReader(http.getInputStream(), "UTF-8"); json_string = new TextReader().getText(new BufferedReader(isr)); isr.close(); http.disconnect(); } catch( Exception e ) { e.printStackTrace(); json_string = "{ \"winofsql\" : [\"error\"] }"; } return json_string; } // ****************************************************************** // BufferedReader から テキストを取得 // ****************************************************************** static class TextReader { public String getText(BufferedReader br) throws IOException { String result_string = ""; String line_buffer = null; // BufferedReader は、readLine が null を返すと読み込み終了 while ( null != (line_buffer = br.readLine() ) ) { // コマンドプロンプトに表示 result_string += line_buffer; } // 閉じる br.close(); return result_string; } } static class JSON_ENTRY { String[] winofsql; } }
関連する記事 VS(C#) : Json.NET を使用して文字列形式の JSON をプログラムで参照する具代的な方法
|
【java : 通信関連の最新記事】
- Java : WEB上のテキストファイルを取得する
- Java11 + Visual Studio Code + JavaMail( with JavaBeans Activation Framework )
- Javamail で IMAP 受信
- OkHttp v3.8.0 jar( と okio 1.13.0.jar ) を Eclipse のプロジェクトに追加して一般的な POST 送信を行う
- java をコマンドプロンプトからビルドして実行するサンプル。( メール送信が初心者には楽しいはず )
- Eclipse + JFace : HttpURLConnection で GET
- javamail でメール送信と、付属のバッチビルド用のスクリプトの解説
- Java : バッチでテストする Twiiter API の『検索処理』
- Java : RSS(Document) から、item の中の先頭の指定した要素の値を取得するクラス
- google-gson で、JSON 文字列の構成要素の一覧を取り出す処理
- java : Apache commons-net-3.0.1 を使ってごく自然に FTPS(セキュア) でファイルのアップロード/ダウンロード
- javamail 1.4.4 : IMAP で、ユーザから別のユーザへメッセージを全て(範囲指定で)コピーする
- javamail 1.4.4 : IMAP のメール受信イベントでメールを受け取ったら処理を行う
- Java : WEB 上の XML データの内容を取得する