Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaのオブジェクトモデルを使ってJSONオブジェクトを作成する方法

JsonObjectインターフェースとは

javax.json.JsonObjectインターフェースは、不変(イミュータブル)なJSONオブジェクトの値を表現します。このインターフェースは、JSONオブジェクト内の名前/値のマッピングに対して、変更不可能(アンモディファイアブル)なマップビューを提供します。そのため、一度生成されたJsonObjectは後から内容を書き換えることができず、データの安全性が保たれます。

JsonObjectインスタンスを作成する方法は主に2つあります。

  • 入力ソース(ファイルや文字列など)から読み込む場合:javax.json.JsonReaderクラスのstaticメソッドreadObject()を使用する
  • プログラム内で組み立てる場合:javax.json.JsonクラスのstaticメソッドcreateObjectBuilder()を使用する

構文

public static JsonObjectBuilder createObjectBuilder()

JSONオブジェクト作成の基本的な流れ

  1. Json.createObjectBuilder()を呼び出して、JsonObjectBuilderのインスタンスを取得します。
  2. add()メソッドを使って、名前と値のペアを順に追加していきます。値には文字列だけでなく、数値や真偽値、さらには別のJsonObjectやJsonArrayも指定できます。
  3. build()メソッドを呼び出すと、追加したデータをもとに不変のJsonObjectが生成されます。
  4. 必要に応じてJsonWriterを使い、JSON形式の文字列として出力します。

サンプルコード

以下の例では、JsonObjectBuilderを使って4つのキーと値を持つJSONオブジェクトを作成し、コンソールに出力しています。

import java.io.*;
import javax.json.*;

public class JsonObjectTest {
   public static void main(String[] args) throws Exception {
      // ビルダーの取得
      JsonObjectBuilder builder = Json.createObjectBuilder();

      // 名前/値のペアを追加
      builder.add("Name", "Adithya");
      builder.add("Designation", "Python Developer");
      builder.add("Company", "TutorialsPoint");
      builder.add("Location", "Hyderabad");

      // JsonObjectの生成
      JsonObject data = builder.build();

      // JSON文字列として出力
      StringWriter sw = new StringWriter();
      JsonWriter jw = Json.createWriter(sw);
      jw.writeObject(data);
      jw.close();
      System.out.println(sw.toString());
   }
}

実行結果

{"Name":"Adithya","Designation":"Python Developer","Company":"TutorialsPoint","Location":"Hyderabad"}

補足:APIの利用について

この記事で使用しているJSON Processing API(JSON-P)は、Java EE 7以降に含まれています。スタンドアロンのJava SE環境で利用する場合は、Mavenなどのビルドツールで依存関係にjavax.json(または後継のjakarta.json)を追加してください。また、より柔軟なJSON操作が必要な場合は、JacksonやGsonといった外部ライブラリを選択肢に入れるのも有効です。

  1. JavaでJSON配列を作成する方法をわかりやすく解説

    JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x

  2. JavaでJSONファイルを作成する方法をわかりやすく解説

    JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed