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

JavaでJSON-lib APIを使用して配列をJSONArrayに変換する方法

Javaの配列(Array)は、同じ型の複数の変数を格納するためのオブジェクトであり、プリミティブ型オブジェクト参照を保持することができます。一方、JSONArray順序付けられた値のシーケンスです。その外部テキスト形式は、角括弧「[ ]」で囲まれ、値がカンマで区切られた文字列として表現されます。内部形式としては、インデックスを指定して値にアクセスするための get() メソッドおよび opt() メソッド、そして値を追加・置換するための element() メソッドを持つオブジェクトとして実装されています。

配列をJSONArrayに変換するには、まず Object[] 配列を作成し、それを引数として JSONSerializer クラスの toJSON() メソッドに渡します。その戻り値をJSONArrayにキャストすることで、JSON配列を取得できます。

サンプルコード

以下の例では、Object[] 配列を JSONArray に変換しています。

import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;

public class ConvertArrayToJSONArrayTest {
    public static void main(String[] args) {
        Object[] objArray = new Object[] {
            "Array to JSON Array",
            new Integer(10),
            new Long(30),
            new Double(14.26),
            true,
            new char[] {'X', 'Y', 'Z'}
        };

        JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(objArray);
        System.out.println(jsonArray.toString(3)); // 整形してJSONを出力
    }
}

実行結果

[
   "Array to JSON Array",
   10,
   30,
   14.26,
   true,
   [
      "X",
      "Y",
      "Z"
   ]
]

ポイント解説

  • JSONSerializer.toJSON():任意のJavaオブジェクトや配列を受け取り、JSON形式へ変換する静的メソッドです。
  • toString(3):引数にインデント幅を指定すると、見やすい整形済み(pretty print)のJSON文字列が出力されます。
  • char型の配列は、自動的に文字列の配列としてJSON配列内に展開されます。
  • このAPIを使用するには、クラスパスに json-lib のJARファイルが必要です。json-libは内部で commons-lang、commons-beanutils、commons-collections、ezmorph などのライブラリに依存しているため、併せて追加してください。
  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のMapをJSONに変換する3つの方法(Jackson・Gson・org.json)

    JavaのMap(マップ)をJSONに変換する方法はいくつかあります。Javaでは、配列やMapとJSONの相互変換を行う場面が非常に多く、Web APIとのデータ連携などでも欠かせない処理です。 この記事では、代表的なライブラリであるJackson、Gson、org.jsonを使用して、JavaのMapをJSONに変換する3つの具体例をサンプルコード付きで解説します。 Jacksonを使ってJavaのMapをJSONに変換する 最初の例では、Jackson Core と Jackson Databind を使ってJavaのMapをJSONに変換します。 Jacksonライブラリを使用するには