ライブラリを使う!JavaでJSONを扱う方法【初心者向け】
初心者向けにJavaでJSONを扱う方法について解説しています。JSONを扱う上で便利なライブラリを使って説明しています。JSONはプログラミングの様々なところで使われているので、実際に書きながら理解していきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
この記事では、JavaでJSONを扱う方法について解説しています。
JSONファイルを扱う上で便利なライブラリを使って説明しているので、ぜひ書き方を参考にしてみてください。
なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。
今回はJavaでJSONを扱う方法について勉強してみようか。
田島メンター!JSONというのは何ですか~?
JavaScript Object Notationの略で、軽量で汎用性のあるデータフォーマットのひとつなんだ。詳しく見ていくよ。
はい!
JSONとは
JSONとはJavaScript Object Notationの略で、軽量のデータ交換フォーマットです。
人間にとって読み書き容易で、機械(コンピュータ)にとっても解析しやすい型式です。
特にJavaScript言語との親和性が良いですが、Java含む他のプログラミング言語でも頻繁に利用されています。
JavaでJSONを扱うため、2つの便利なライブラリがあります。
この記事では前者のGsonを使います。
Gsonライブラリのインストール
以下の手順で、EclipseでGsonライブラリを使えるように設定します。
1. Gsonのサイトからgson-2.8.2.jarファイルをダウンロードします。
2. Eclipseでダウンロードしたjarファイルへの参照を追加します。
3. ビルドパスの編集画面を開きます。
4. “Add JARs”を選択します。
5. gson-2.8.2.jarを選択します。
6. gson-2.8.2.jarが追加されたことを確認します。
JavaでのJSONの使い方
はじめにGsonライブラリをインポートします。
import com.google.gson.Gson;
次にGsonクラスのインスタンスを作成します。
Gsonクラスには、以下2つのメソッドが用意されています。
- toJson: JavaオブジェクトをJSON文字列に変換する
- fromJson: JSON文字列をJavaオブジェクトに変換する
例えば、String型の配列をJSON文字列に変換し、再度、逆変換してみます。
Gson gson = new Gson(); String [] stringArray = {"alpha", "bravo", "charlie"}; // JavaオブジェクトをJSON文字列に変換する String jstr = gson.toJson(stringArray); // JSON文字列をJavaオブジェクトに変換する stringArray = gson.fromJson(jstr, String[].class);
Gsonライブラリのインストール方法と、基本の使い方についてだね。
GsonクラスでJavaオブジェクトとJSONを相互変換できるんですね。
そうだね。次は実際に両方の変換を実行してみよう。
実際に書いてみよう
自作のPersonクラスの配列を作成します。上で作成した配列をJSON文字列に変換します。
JSON文字列を再度、Personクラスの配列に戻します。
ソースコード
import com.google.gson.Gson; public class JsonDemo { public static void main(String[] args) { // Personクラスの配列を作成する Person[] persons = { new Person("alpha", 10), new Person("bravo", 20) }; Gson gson = new Gson(); // Personクラスの配列を、JSON文字列に変換する String jstr = gson.toJson(persons, Person[].class); System.out.println(jstr); // JSON文字列を、Personクラスの配列に変換する persons = gson.fromJson(jstr, Person[].class); for (Person p : persons) { System.out.println(p); } } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String toString() { return "name=" + name + ", age=" + age; } }
実行結果
[{"name":"alpha","age":10},{"name":"bravo","age":20}] name=alpha, age=10 name=bravo, age=20
解説
まず、Personクラスの配列personsを作成します。
続いて、Gsonクラス、toJsonメソッドで、JSON文字列に変換し、表示します。
Gsonクラス、fromJsonメソッドで、Personクラスの配列に戻します。配列の要素を1個ずつ表示します。
以上、JavaでJSONを扱う方法について解説しました。
入門向けJavaの学習サイトもまとめているので、合わせてご覧ください。
Gsonによって相互の変換処理を行った例になるよ。
toJsonメソッドを使うとJavaオブジェクト→JSONに、fromJsonメソッドで逆の変換を行うわけですね。
JSONはデータベースに関する操作を行うときに役立つので、一連の書き方を覚えておこう。
分かりました。ありがとうございます!
また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。
JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
この記事を監修してくれた方
橋本紘希(はしもとこうき) 開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。 |