ライブラリを使う!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アプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。 |