パッケージ info.vividcode.util.json

JSON を扱うためのパッケージ.

参照先:
          説明

インタフェースの概要
JsonValue JSON の各種値 (object, array, string, number, boolean, null) に対応する Java のオブジェクトによって実装されるインターフェイス.
 

クラスの概要
JsonArray JSON の array を表すためのクラスであり, JsonValue オブジェクトを格納するための List でもある.
JsonBoolean JSON の boolean (true, false) を表すためのクラス.
JsonNull JSON の null を表すためのクラス.
JsonNumber JSON の number を表すためのクラス.
JsonObject JSON の object を表すためのクラスであり, String オブジェクトと JsonValue オブジェクトの関係を保持する Map でもある.
JsonParser JSON 文字列をパースする機能を提供するクラス.
JsonSerializer JSON オブジェクトをシリアライズする機能を提供するクラス.
JsonString JSON の string を表すためのクラス.
 

列挙型の概要
JsonValue.ValueType JSON の各種値の型を表す列挙型
 

例外の概要
InvalidJsonException 無効な JSON 文字列をパースしようとしたときや, 無効な JSON オブジェクト (再帰的な構造など) をシリアライズしようとしたときなどに発生する例外.
 

パッケージ info.vividcode.util.json の説明

JSON を扱うためのパッケージ. 各種 JSON オブジェクト (Array, Object, String, Number, String, Boolean, Null) を表すクラスと, パーサー, シリアライザーから成る.

各種 JSON オブジェクトを表すためのクラスは JsonValue インターフェイスを実装しており, 実際の値を取得するためには xxxxValue メソッド (xxxx は "array" や "string" など) を使用する. 例えば, JSON の string を表すためのクラスは JsonString であり, 実際の値 (String オブジェクト) を取得するには stringValue メソッドを使用する.

  // インスタンスはコンストラクタに String オブジェクトを渡して生成する 
  JsonString js = new JsonString( "テスト" );
  // 実際の値は stringValue メソッドを使用して取得できる
  String s = js.stringValue();
JSON 文字列をパージングするためには JsonParser を使用する.
  // パース対象の JSON 文字列
  String jsonStr = "[ 50, 200 ]";
  // パースする
  JsonValue jsonObj = JsonParser.parse( jsonStr );
  // 現在は JsonArray であることがわかっているので, JsonArray として扱う
  BigDecimal num1 = jsonObj.arrayValue().get( 0 ).numberValue();
  BigDecimal num2 = jsonObj.arrayValue().get( 1 ).numberValue();
JSON オブジェクトを JSON 文字列に変換するためには JsonSerializer を使用する.
  // シリアライズ対象の JSON オブジェクト
  JsonArray jsonArray = new JsonArray();
  jsonArray.add( new JsonString( "テスト\t改行も\n" ) );
  // シリアライズして出力
  System.out.println( JsonSerializer.serialize( jsonArray ) );
      // ["テスト\t改行も\n"]