JavaのストリーミングAPI(JsonGenerator)でJSON配列を実装する方法
JsonGeneratorインターフェースを使用すると、JSONデータをストリーミング方式で出力先に書き込むことができます。JSON配列を作成・実装するには、JsonGeneratorのwriteStartArray()メソッドを使用します。このメソッドは、現在のオブジェクトコンテキスト内に「JSON名」と「配列の開始文字」のペアを書き込みます。
また、writeStartObject()メソッドはJSONオブジェクトの開始文字を書き込むためのもので、配列コンテキスト内でのみ有効です。さらに、writeEnd()メソッドを呼び出すことで、現在のコンテキスト(オブジェクトや配列)の終了を書き込めます。
構文
JsonGenerator writeStartArray(String name)
必要なライブラリ
以下のコードを実行するには、JSON Processing API(JSON-P)が必要です。Mavenプロジェクトの場合は、次の依存関係をpom.xmlに追加してください。
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1.4</version>
</dependency>
サンプルコード
import java.io.*;
import javax.json.*;
import javax.json.stream.*;
public class JsonGeneratorTest {
public static void main(String[] args) throws Exception {
StringWriter writer = new StringWriter();
JsonGenerator jsonGen = Json.createGenerator(writer);
jsonGen.writeStartObject()
.write("name", "Adithya")
.write("designation", "Python Developer")
.write("company", "TutorialsPoint")
.writeStartArray("personal details")
.writeStartObject()
.write("email", "adithya@gmail.com")
.writeEnd()
.writeStartObject()
.write("contact", "9959927000")
.writeEnd() // オブジェクトの終了
.writeEnd() // 配列の終了
.writeEnd(); // メインオブジェクトの終了
jsonGen.close();
System.out.println(writer.toString());
}
}
実行結果
{"name":"Adithya","designation":"Python Developer","company":"TutorialsPoint","personal details":[{"email":"adithya@gmail.com"},{"contact":"9959927000"}]}このように、writeStartArray()で配列を開始し、その中でwriteStartObject()とwriteEnd()を組み合わせることで、オブジェクトを要素として持つJSON配列を簡単に生成できます。最後にclose()を呼び出してジェネレーターを閉じ、リソースを解放することを忘れないようにしましょう。
-
JavaでJSON配列を作成する方法をわかりやすく解説
JSON配列とは、角括弧で囲まれた値の順序付きコレクションのことです。具体的には「[」で始まり「]」で終わり、配列内の各値はカンマ(,)で区切られます。JSON配列のサンプル{ books: [Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }json-simpleは、JSONオブジェクトを処理するための軽量ライブラリです。このライブラリを使えば、JavaプログラムからJSONドキュメントの内容を読み取ったり、書き込んだりすることができます。json-simpleのMaven依存関係json-simpleライブラリを使用するには、まずpom.x
-
JavaでJSONファイルを作成する方法をわかりやすく解説
JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed