カテゴリ: Jakarta EE 更新日: 2026/03/29

Jakarta EE JSON-PでJSONを生成する方法を徹底解説 JavaでのJSON作成と書き込みを初心者向けに解説

Jakarta EE JSON-PでのJSON生成と書き込み
Jakarta EE JSON-PでのJSON生成と書き込み

先生と生徒の会話形式で理解しよう

生徒

「Jakarta EEでJSONデータを作る方法を知りたいです。JavaでJSONを生成するにはどうすればいいんですか?」

先生

「Jakarta EEではJSONを扱うための標準APIとしてJSON Processingという仕組みがあります。一般的にはJSON Pと呼ばれていてJavaでJSONを生成したり書き込んだりすることができます。」

生徒

「JSONファイルを作成したりAPIのレスポンスとしてJSONを返したりすることもできますか?」

先生

「もちろんできます。JSONオブジェクトをJavaコードで作成して文字列として出力したりファイルに書き込んだりすることができます。Web API開発でもよく使われます。」

生徒

「それは便利そうですね。具体的な書き方を知りたいです。」

先生

「それではJakarta EEのJSON Pを使ったJSON生成と書き込み処理を順番に解説していきましょう。」

1. Jakarta EE JSON Pとは

1. Jakarta EE JSON Pとは
1. Jakarta EE JSON Pとは

Jakarta EE JSON PはJavaでJSONデータを扱うための標準APIです。正式名称はJakarta JSON ProcessingでありJavaプログラムからJSONを生成したり読み込んだりする処理を簡単に実装することができます。

Web API開発やRESTサービスではJSON形式のデータ交換が主流になっています。そのためJavaでJSONを生成する技術は非常に重要です。Jakarta EEではこのJSON処理を標準仕様として提供しているため追加ライブラリを導入しなくてもJSON操作が可能です。

JSON Pでは次のような処理を行うことができます。

  • JavaコードからJSONオブジェクトを生成する
  • JSON配列を作成する
  • JSONデータを文字列として出力する
  • JSONデータをファイルに書き込む

特にJakarta RESTやWeb APIのレスポンスデータ生成ではJSON Pの知識が役立ちます。

2. JSONオブジェクトを生成する基本方法

2. JSONオブジェクトを生成する基本方法
2. JSONオブジェクトを生成する基本方法

Jakarta EE JSON PではJsonObjectBuilderというクラスを使ってJSONオブジェクトを生成します。Javaのコードからキーと値を追加することでJSON構造を作ることができます。

まずはシンプルなJSONオブジェクトを作成する例を見てみましょう。名前と年齢を持つJSONデータを作成します。


import jakarta.json.Json;
import jakarta.json.JsonObject;

public class JsonCreateExample {

    public static void main(String[] args) {

        JsonObject json = Json.createObjectBuilder()
                .add("name", "Taro")
                .add("age", 25)
                .build();

        System.out.println(json.toString());
    }
}

このプログラムではcreateObjectBuilderメソッドを使ってJSONオブジェクトを作成しています。そしてaddメソッドを使ってキーと値を追加しています。

buildメソッドを呼び出すことでJSONオブジェクトが完成します。

実行すると次のようなJSONが出力されます。


{"name":"Taro","age":25}

このようにJakarta EE JSON Pを使えばJavaコードだけで簡単にJSONデータを生成できます。

3. JSON配列を生成する方法

3. JSON配列を生成する方法
3. JSON配列を生成する方法

JSONでは複数のデータを配列として扱うこともよくあります。Jakarta EE JSON PではJsonArrayBuilderを使ってJSON配列を生成することができます。

例えば複数の名前を持つJSON配列を作る場合は次のように書きます。


import jakarta.json.Json;
import jakarta.json.JsonArray;

public class JsonArrayExample {

    public static void main(String[] args) {

        JsonArray array = Json.createArrayBuilder()
                .add("Tanaka")
                .add("Suzuki")
                .add("Sato")
                .build();

        System.out.println(array.toString());
    }
}

JsonArrayBuilderは配列データを順番に追加する仕組みになっています。addメソッドで値を追加して最後にbuildメソッドを実行するとJSON配列が完成します。

実行結果は次のようになります。


["Tanaka","Suzuki","Sato"]

Web APIでは一覧データを返すことが多いためJSON配列の生成はとても重要な技術です。

4. ネストされたJSON構造を作成する

4. ネストされたJSON構造を作成する
4. ネストされたJSON構造を作成する

実際のJSONデータではオブジェクトの中にオブジェクトや配列が入る構造がよく使われます。Jakarta EE JSON Pでも同じような構造を作ることができます。

例えばユーザー情報と趣味の一覧を持つJSONデータを作る例を見てみましょう。


import jakarta.json.Json;
import jakarta.json.JsonObject;

public class NestedJsonExample {

    public static void main(String[] args) {

        JsonObject json = Json.createObjectBuilder()
                .add("name", "Taro")
                .add("age", 30)
                .add("hobbies",
                        Json.createArrayBuilder()
                                .add("Programming")
                                .add("Music")
                                .add("Travel")
                )
                .build();

        System.out.println(json.toString());
    }
}

このコードではJSONオブジェクトの中にJSON配列を追加しています。これによってより複雑なJSON構造をJavaで作ることができます。

実行結果は次のようなJSONになります。


{"name":"Taro","age":30,"hobbies":["Programming","Music","Travel"]}

REST APIやデータ交換ではこのようなネストされたJSON構造がよく使われます。

5. JSONデータをファイルへ書き込む方法

5. JSONデータをファイルへ書き込む方法
5. JSONデータをファイルへ書き込む方法

Jakarta EE JSON Pでは生成したJSONデータをファイルに書き込むこともできます。JsonWriterを使用することでJSONオブジェクトを簡単にファイルへ保存できます。

次の例ではJSONデータをファイルとして保存します。


import jakarta.json.Json;
import jakarta.json.JsonObject;
import jakarta.json.JsonWriter;

import java.io.FileWriter;

public class JsonWriteFileExample {

    public static void main(String[] args) throws Exception {

        JsonObject json = Json.createObjectBuilder()
                .add("title", "Jakarta EE JSON")
                .add("category", "Programming")
                .build();

        FileWriter writer = new FileWriter("data.json");

        JsonWriter jsonWriter = Json.createWriter(writer);
        jsonWriter.writeObject(json);

        jsonWriter.close();
        writer.close();
    }
}

このプログラムではJSONオブジェクトを作成した後にJsonWriterを使ってファイルへ書き込みを行っています。

実行すると次のようなJSONファイルが作成されます。


{"title":"Jakarta EE JSON","category":"Programming"}

この方法はログ出力や設定ファイル作成やAPIレスポンス生成など様々な場面で利用されます。

6. JSON文字列として出力する方法

6. JSON文字列として出力する方法
6. JSON文字列として出力する方法

ファイルに書き込むだけでなくJSON文字列として取得する方法もあります。これはWeb APIレスポンスやログ出力でよく使われます。

JSONオブジェクトを文字列として取得するにはtoStringメソッドを使用します。


import jakarta.json.Json;
import jakarta.json.JsonObject;

public class JsonStringExample {

    public static void main(String[] args) {

        JsonObject json = Json.createObjectBuilder()
                .add("language", "Java")
                .add("framework", "Jakarta EE")
                .build();

        String jsonText = json.toString();

        System.out.println(jsonText);
    }
}

この方法を使えばJakarta RESTのレスポンスデータとしてJSON文字列を返すことができます。

REST API開発ではJSON文字列としてデータを返す処理が頻繁に登場するため覚えておくと非常に役立ちます。

7. JSON生成処理が活躍する実務シーン

7. JSON生成処理が活躍する実務シーン
7. JSON生成処理が活躍する実務シーン

Jakarta EE JSON PでJSONを生成する技術は実際のシステム開発でも多くの場面で利用されます。特にWebシステムやAPI開発ではJSON形式のデータ交換が標準となっているため重要な技術です。

例えば次のような場面で活躍します。

  • REST APIのレスポンスデータ生成
  • Webアプリケーションのデータ送信
  • 設定情報の保存
  • ログや分析データの出力

またJakarta JSON Bindingと組み合わせることでJavaオブジェクトから自動的にJSONを生成することも可能になります。

まずはJSON PでJSON構造を自由に生成できるようになるとJavaでのデータ処理の理解が深まりWeb開発でも大きな力になります。

まとめ

まとめ
まとめ

ここまでJakarta EE JSON Pを使ったJSON生成処理について詳しく学んできました。JavaプログラムでJSONデータを扱う技術は、現在のWebシステム開発やREST API開発において非常に重要な基礎技術の一つです。特にJakarta EEの標準APIであるJakarta JSON Processingを理解しておくことで、外部ライブラリに依存せずにJSONオブジェクト生成やJSON配列作成、JSONデータ書き込み処理などをJavaだけで実装できるようになります。

JSONは現在のインターネットサービスやWeb API通信において最も広く利用されているデータ形式です。JavaでWebサービスやREST APIを開発する場合、JSONレスポンス生成やJSONデータ作成処理は必ずと言っていいほど登場します。そのためJakarta EE JSON Pの基本構文を理解しておくことは、JavaエンジニアやWeb開発者にとって非常に重要なスキルになります。

Jakarta EE JSON Pでは主にJsonObjectBuilderとJsonArrayBuilderというビルダークラスを利用してJSON構造を組み立てていきます。この仕組みはJavaのオブジェクト指向プログラミングと非常に相性が良く、コードを読みやすく保ちながらJSONデータを構築することができます。キーと値を順番に追加していくことで、複雑なJSONオブジェクトやネストされたJSON構造を簡単に作成できます。

またJSONオブジェクトを作成した後はtoStringメソッドを利用することでJSON文字列として出力できます。この方法はREST APIのレスポンス生成やログ出力、データ送信処理など様々な場面で活用されます。さらにJsonWriterを利用することでJSONデータをファイルへ保存することも可能です。設定ファイルの生成やログデータ保存など実務でも頻繁に利用される処理です。

さらにJakarta EE JSON PではJSON配列の生成も簡単に行うことができます。JsonArrayBuilderを使用することで複数のデータを配列形式でまとめることができます。例えばユーザー一覧データや商品リスト、検索結果一覧などをJSON配列として返すケースは非常に多く、Web API開発では欠かせない処理です。

実際のシステム開発ではJSONの中にJSONオブジェクトやJSON配列を含むネスト構造がよく使われます。Jakarta EE JSON Pはそのような複雑なJSON構造も簡単に作成できる設計になっています。Javaのコードの中でJsonObjectBuilderやJsonArrayBuilderを組み合わせることで、REST APIレスポンスやデータ交換フォーマットを柔軟に作ることができます。

またJakarta EEのWeb開発ではJakarta RESTと組み合わせてJSONレスポンスを生成することが多くあります。サーバー側でJavaオブジェクトのデータを取得し、それをJSON形式に変換してクライアントへ送信するという処理は非常に一般的です。その際にJSON生成処理を理解しているとAPI設計やデータ構造設計が非常にスムーズになります。

さらにJakarta EEではJSON PだけでなくJakarta JSON Bindingという仕組みも提供されています。JSON Bindingを利用するとJavaクラスのオブジェクトから自動的にJSONを生成することも可能になります。しかしJSON構造を細かく制御したい場合や動的にJSONを組み立てたい場合にはJSON Pの知識が非常に役立ちます。

つまりJakarta EE JSON PはJavaでJSONデータを扱うための基礎技術であり、Webアプリケーション開発やREST API開発を行うエンジニアにとって必ず理解しておきたい重要なAPIです。JSON生成処理を理解することでJavaプログラムから柔軟にデータ構造を作成できるようになり、実践的なWebシステム開発に対応できるようになります。

復習用サンプルプログラム

最後にJakarta EE JSON Pを使ったJSONオブジェクト生成とJSON配列生成の基本をまとめたサンプルプログラムを紹介します。JSON生成処理の流れを復習することで、JavaでのJSONデータ作成方法をより深く理解することができます。


import jakarta.json.Json;
import jakarta.json.JsonArray;
import jakarta.json.JsonObject;

public class JsonSummaryExample {

    public static void main(String[] args) {

        JsonArray skills = Json.createArrayBuilder()
                .add("Java")
                .add("Jakarta EE")
                .add("REST API")
                .build();

        JsonObject developer = Json.createObjectBuilder()
                .add("name", "Taro")
                .add("age", 28)
                .add("skills", skills)
                .build();

        System.out.println(developer.toString());
    }
}

このプログラムではJSON配列とJSONオブジェクトを組み合わせて、開発者情報を表すJSONデータを生成しています。JSON配列の中にスキル一覧を追加し、それをJSONオブジェクトの中に組み込むことでネストされたJSON構造を作っています。

実行結果は次のようになります。


{"name":"Taro","age":28,"skills":["Java","Jakarta EE","REST API"]}

このようなJSON構造はREST APIレスポンスやWebサービスのデータ交換フォーマットとして非常に一般的です。Jakarta EE JSON Pを理解しておくことで、Javaアプリケーションの中で柔軟にJSONデータを生成できるようになります。

先生と生徒の振り返り会話

生徒

今日の記事でJakarta EE JSON Pの使い方がよく分かりました。JavaプログラムからJSONデータを生成する方法やJSON配列の作り方、さらにJSONファイル書き込み処理まで理解できました。

先生

とても良い理解です。Jakarta JSON ProcessingはJavaでJSONを扱う基本APIなので、Web API開発やRESTサービス開発では必ず役立つ知識です。JsonObjectBuilderやJsonArrayBuilderの使い方を覚えておくとJSON構造を自由に作れるようになります。

生徒

JSONオブジェクトだけでなくJSON配列やネストされたJSON構造も作れることが分かりました。REST APIレスポンスを作るときにとても便利そうですね。

先生

その通りです。実際のシステム開発ではユーザー情報一覧や商品一覧などをJSON配列として返すことが多くあります。またJSONの中にJSONオブジェクトを含めるネスト構造も頻繁に登場します。

生徒

JSONを文字列として出力したりファイルへ保存したりする方法も理解できました。Javaアプリケーションでログ出力や設定ファイル作成にも使えそうです。

先生

その通りです。Jakarta EE JSON PはWeb API開発だけでなく様々なデータ処理で活用できます。まずは今回学んだJSON生成処理を何度も書いてみて、JavaでJSON構造を自由に作れるように練習していきましょう。

カテゴリの一覧へ
新着記事
New1
Play Framework
Play Frameworkでクッキーを守る!Secure属性とHttpOnly属性の設定方法を徹底解説
New2
Play Framework
マイクロサービス時代におけるPlay Frameworkの位置付けを徹底解説!初心者でもわかる最新Javaフレームワークの役割
New3
Play Framework
Play Frameworkとは?特徴と歴史を初心者向けにわかりやすく解説
New4
Jakarta EE
Jakarta EEのServletフィルタとは?仕組みと役割を初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Jakarta EE
Jakarta EEとJava EEアプリの互換性を完全解説!移行で困らないための基礎知識
No.2
Java&Spring記事人気No2
Jakarta EE
Jakarta サーブレットのdoGetとdoPostの違いと使い分けを徹底解説!初心者でもわかるHTTPリクエスト処理
No.3
Java&Spring記事人気No3
Jakarta EE
Jakarta EE JAX-RSインターセプタの仕組みを完全解説 初心者でも理解できるReaderInterceptorとWriterInterceptorの使い方
No.4
Java&Spring記事人気No4
Jakarta EE
Jakarta EEとは?Java EEからの移行の歴史をやさしく解説
No.5
Java&Spring記事人気No5
Play Framework
Play Frameworkのセッション固定攻撃対策!Javaで安全なログイン機能を実装する方法
No.6
Java&Spring記事人気No6
Play Framework
Play Frameworkでセッション管理と認証を連携!Java初心者向けログイン実装ガイド
No.7
Java&Spring記事人気No7
Jakarta EE
Jakarta EEを支えるEclipse Foundationの役割とは?初心者向けにわかりやすく解説
No.8
Java&Spring記事人気No8
Jakarta EE
Jakarta EE JSON-PとJSON-Bの違いと役割を徹底解説 初心者でも理解できるJSON処理の基本