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

Jakarta EE JSON-P JsonObjectとJsonArrayの操作方法を徹底解説 初心者向けJavaで学ぶJSON処理入門

Jakarta EE JsonObject・JsonArrayの操作方法
Jakarta EE JsonObject・JsonArrayの操作方法

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

生徒

「Jakarta EEでJSONを扱う方法を勉強しているのですが、JsonObjectやJsonArrayってどうやって操作するんですか?」

先生

「Jakarta EEではJSONを扱うためにJSON-PというAPIが用意されています。その中でJsonObjectやJsonArrayを使うことで、JSONデータの取得や追加やループ処理などが簡単にできます。」

生徒

「JSONの中にある値を取り出したり、配列のデータを順番に処理したりすることもできますか?」

先生

「もちろんできます。JavaでWebAPIを扱うときやREST開発ではとてもよく使う処理なので、JsonObjectとJsonArrayの基本操作をしっかり理解しておくと便利です。」

生徒

「それは便利ですね。初心者でもわかるように基本から教えてください。」

先生

「ではJakarta EEのJSON-Pを使ったJsonObjectとJsonArrayの操作方法を順番に解説していきましょう。」

1. Jakarta EE JSON-Pとは何か

1. Jakarta EE JSON-Pとは何か
1. Jakarta EE JSON-Pとは何か

Jakarta EEにはJSONデータを処理するための標準APIとしてJSON Processingが用意されています。一般的にJSON-Pと呼ばれており、JavaでJSONを生成したり読み込んだりするための機能を提供します。

JavaのWebアプリケーション開発やREST API開発ではJSON形式のデータ交換が非常に多く使われます。そこでJakarta EEではJSONを簡単に操作できる仕組みとしてJsonObjectやJsonArrayが用意されています。

JsonObjectはキーと値の組み合わせで構成されたJSONデータを表します。例えばユーザー情報や商品情報などのデータ構造を表現するのに向いています。一方JsonArrayは複数のデータを順番に格納する配列構造を表します。

この二つを理解することでJavaでのJSONデータ操作がとても簡単になります。特にJakarta EEを使ったWeb API開発では必須の知識と言えるでしょう。

2. JsonObjectの基本操作

2. JsonObjectの基本操作
2. JsonObjectの基本操作

JsonObjectはJSON形式のオブジェクトを表すクラスです。キーと値の組み合わせでデータを管理することができます。

例えば名前や年齢などのユーザー情報をJsonObjectとして扱うことができます。JSONのオブジェクト構造をそのままJavaで扱えるため、REST APIのレスポンス処理などでよく使われます。

次のサンプルではJsonObjectを作成して値を取得する基本操作を紹介します。


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

public class JsonObjectExample {

    public static void main(String[] args) {

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

        String name = user.getString("name");
        int age = user.getInt("age");

        System.out.println(name);
        System.out.println(age);
    }
}

JsonObjectではキーを指定することで値を取得できます。文字列の場合はgetStringを使い、数値の場合はgetIntなどのメソッドを使います。

3. JsonObjectの値を取得する方法

3. JsonObjectの値を取得する方法
3. JsonObjectの値を取得する方法

JsonObjectの操作では特定のキーに対応する値を取り出す処理がよく行われます。WebAPIから取得したJSONデータをJavaのプログラムで処理する場合に頻繁に使用されます。

JsonObjectにはさまざまな取得メソッドが用意されており、文字列や数値などデータ型に応じて取得方法が異なります。


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

public class JsonGetExample {

    public static void main(String[] args) {

        JsonObject product = Json.createObjectBuilder()
                .add("name", "Laptop")
                .add("price", 120000)
                .add("maker", "ABC")
                .build();

        System.out.println(product.getString("name"));
        System.out.println(product.getInt("price"));
        System.out.println(product.getString("maker"));
    }
}

このようにJsonObjectを使うとJSONデータの値を簡単に取得できます。REST APIやWebサービス開発ではこの処理が頻繁に使われます。

4. JsonArrayの基本操作

4. JsonArrayの基本操作
4. JsonArrayの基本操作

JsonArrayはJSONの配列データを表すクラスです。複数の値を順番に格納する構造を持っています。

例えば商品一覧やユーザー一覧などのリスト形式のデータを扱うときに使用します。JsonArrayはインデックス番号を使って値を取得することができます。


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

public class JsonArrayExample {

    public static void main(String[] args) {

        JsonArray array = Json.createArrayBuilder()
                .add("Apple")
                .add("Banana")
                .add("Orange")
                .build();

        System.out.println(array.getString(0));
        System.out.println(array.getString(1));
        System.out.println(array.getString(2));
    }
}

JsonArrayでは配列のように番号でデータを取得できます。この仕組みを使うことで複数データを簡単に管理できます。

5. JsonArrayをループ処理で取り出す方法

5. JsonArrayをループ処理で取り出す方法
5. JsonArrayをループ処理で取り出す方法

JsonArrayに複数のデータが格納されている場合はループ処理を使ってすべての要素を順番に取り出すことができます。Javaのfor文と組み合わせることで配列データの処理が簡単になります。

JSONデータの配列はWebAPIのレスポンスとしてよく使われるため、このループ処理は実務でもよく利用されます。


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

public class JsonArrayLoop {

    public static void main(String[] args) {

        JsonArray numbers = Json.createArrayBuilder()
                .add(10)
                .add(20)
                .add(30)
                .add(40)
                .build();

        for (int i = 0; i < numbers.size(); i++) {
            System.out.println(numbers.getInt(i));
        }
    }
}

sizeメソッドを使うことで配列の要素数を取得できます。これにより安全にループ処理を行うことができます。

6. JsonObjectの中にJsonArrayを持つJSON構造

6. JsonObjectの中にJsonArrayを持つJSON構造
6. JsonObjectの中にJsonArrayを持つJSON構造

実際のJSONデータではオブジェクトの中に配列が入っている構造がよくあります。例えばユーザー情報の中に複数の趣味が登録されているようなデータです。

JsonObjectとJsonArrayを組み合わせることで複雑なJSONデータ構造をJavaで扱うことができます。Web APIのレスポンス処理ではこのような構造が非常に多く使われます。


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

public class JsonNestedExample {

    public static void main(String[] args) {

        JsonArray hobbies = Json.createArrayBuilder()
                .add("Music")
                .add("Sports")
                .add("Travel")
                .build();

        JsonObject user = Json.createObjectBuilder()
                .add("name", "Ken")
                .add("hobbies", hobbies)
                .build();

        JsonArray list = user.getJsonArray("hobbies");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.getString(i));
        }
    }
}

このようにJsonObjectとJsonArrayを組み合わせることで実際のJSONデータ構造をそのままJavaで扱うことができます。

7. Jakarta EEでJSON操作を学ぶメリット

7. Jakarta EEでJSON操作を学ぶメリット
7. Jakarta EEでJSON操作を学ぶメリット

Jakarta EEのJSON-Pを使ったJsonObjectとJsonArrayの操作を理解すると、JavaでのJSONデータ処理が非常に簡単になります。特にREST API開発やWebアプリケーション開発ではJSON形式のデータが標準的に使用されています。

そのためJavaエンジニアとして開発を行う場合にはJSONの扱い方を理解しておくことが重要です。Jakarta EEのJSON-Pは標準APIであるため多くのJava環境で利用できるというメリットもあります。

またJSON-Bと組み合わせることでJavaオブジェクトとJSONデータを自動変換することも可能になります。これにより開発効率を大きく向上させることができます。

JSON操作の基本としてJsonObjectとJsonArrayを理解しておくことで、JavaのWeb開発やAPI開発で役立つスキルを身につけることができます。

まとめ

まとめ
まとめ

ここまでJakarta EEのJSON処理機能であるJSON Processing、いわゆるJSON-Pを使ったJsonObjectとJsonArrayの操作方法について解説してきました。JavaでJSONデータを扱う場面は、Webアプリケーション開発やREST API開発、Webサービス連携など多くの場面で登場します。そのためJavaエンジニアにとってJSON処理の基礎を理解することは非常に重要な知識と言えます。

Jakarta EEでは標準APIとしてJSON-Pが提供されており、外部ライブラリに依存することなくJSONデータを操作することができます。特にJsonObjectはキーと値の組み合わせで構成されたJSONオブジェクトを扱うためのクラスであり、ユーザー情報や商品情報などのデータ構造を表現する際によく使用されます。一方JsonArrayは複数のデータを順番に格納するJSON配列を扱うためのクラスであり、一覧データやリスト形式のデータを管理する際に非常に便利です。

JavaのプログラムからJSONを扱う場合、まずJsonObjectを使ってデータを作成したり、JsonArrayを使って配列データを扱う方法を理解する必要があります。JsonObjectではgetStringやgetIntなどのメソッドを使ってキーに対応する値を取得できます。この仕組みによってJSONデータの中から必要な情報を簡単に取り出すことができます。

またJsonArrayではインデックス番号を使ってデータを取得することができます。Javaの配列と同じように番号でデータにアクセスできるため、for文などのループ処理と組み合わせることで複数データを順番に処理することが可能になります。実際のWeb APIレスポンスでは配列形式のJSONが頻繁に使用されるため、このループ処理は実務でも非常によく利用されます。

さらに実際のJSONデータではJsonObjectの中にJsonArrayが入っているようなネスト構造のデータが多く存在します。例えばユーザー情報の中に複数の趣味データが格納されているケースや、商品情報の中に複数のレビューが含まれているケースなどです。このような構造を理解することで、より実践的なJSONデータ処理をJavaで実装することができるようになります。

Jakarta EEのJSON-Pを理解することで、JavaプログラムからJSONを生成する処理、JSONデータを読み取る処理、JSON配列をループで処理する方法、JSONオブジェクトから値を取得する方法などを体系的に理解できます。これらの基本操作はJavaのREST API開発やWebアプリケーション開発において必須とも言える知識です。

またJakarta EEではJSON-BというAPIも提供されており、JavaオブジェクトとJSONデータの自動変換を行うこともできます。JSON-Pは低レベルのJSON操作を行うAPIであり、JSON-BはJavaオブジェクトとのマッピングを行うAPIという役割があります。これらを組み合わせて使うことでJavaのJSON処理をより効率的に行うことができます。

Java開発者としてWeb API開発やRESTサービス開発を行う場合、JSONデータの操作は避けて通れません。Jakarta EEのJSON-Pを使ったJsonObjectとJsonArrayの操作を理解しておくことで、JSONレスポンス処理やデータ解析処理をスムーズに実装できるようになります。特に初心者の方はJsonObjectの値取得方法とJsonArrayのループ処理をしっかり理解しておくと、その後のJava Web開発やAPI開発がとても楽になります。

最後に基本操作をもう一度整理しておきましょう。JsonObjectはキーと値のデータを管理するJSONオブジェクト、JsonArrayは複数データを管理するJSON配列、JsonObjectのgetStringやgetIntで値取得、JsonArrayのsizeとループ処理で一覧データの取り出しという形で覚えておくと理解しやすくなります。

次のサンプルプログラムでは、JsonObjectとJsonArrayを組み合わせたJSON操作の基本処理をまとめて確認できます。JavaでJSON処理を行う際の典型的なコード例として参考にしてください。

JsonObjectとJsonArrayの総合サンプルプログラム


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", "Yamada")
                .add("age", 30)
                .add("skills", skills)
                .build();

        System.out.println(developer.getString("name"));
        System.out.println(developer.getInt("age"));

        JsonArray list = developer.getJsonArray("skills");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.getString(i));
        }
    }
}

実行結果


Yamada
30
Java
Jakarta EE
REST API

このようにJakarta EEのJSON-Pを使うことで、JsonObjectとJsonArrayを組み合わせたJSONデータ処理をJavaでシンプルに実装できます。JavaでJSONを扱う基本技術としてぜひ覚えておきましょう。

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

生徒

Jakarta EEのJSON処理について勉強してみて、JsonObjectとJsonArrayの違いがよく分かりました。JsonObjectはキーと値のデータを持つJSONオブジェクトで、JsonArrayは配列データを管理するためのクラスなんですね。

先生

その通りです。JavaでJSONデータを扱うときはまずJsonObjectとJsonArrayの役割を理解することが大切です。特にREST APIのレスポンス処理ではこの二つのクラスが頻繁に登場します。

生徒

JsonObjectではgetStringやgetIntを使って値を取得できるので、JSONデータから必要な情報を取り出す処理が簡単に書けるのが便利ですね。

先生

そうですね。そしてJsonArrayではsizeメソッドとfor文を使うことで、配列データを順番に処理することができます。これはWeb APIのレスポンス解析でとてもよく使われます。

生徒

JsonObjectの中にJsonArrayが入るようなJSON構造も実際のWebサービスではよくあるんですよね。

先生

その通りです。ユーザー情報の中に複数の趣味データがある場合や、商品情報の中に複数レビューがある場合など、JSONはネスト構造になることが多いです。そのためJsonObjectとJsonArrayの組み合わせを理解しておくことが重要です。

生徒

Jakarta EEのJSON-Pを理解すると、JavaのWeb開発やREST API開発でJSONデータを扱うときにとても役立ちそうですね。

先生

その通りです。JavaエンジニアとしてWebアプリケーション開発を行うなら、JSONデータ処理は必須スキルです。今回学んだJsonObjectとJsonArrayの基本操作をしっかり覚えておくことで、Jakarta EEを使った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処理の基本