利用法サンプル


JSONデータのロード

  1. JsValue root;
  2. try{
  3. root = Json.parseJson(reader);
  4. }catch(IOException e){
  5. // IO error
  6. }catch(JsParseException e){
  7. // parse error
  8. }
parseJsonメソッドは、java.io.Reader型オブジェクトからJSONデータを読み込み、最上位構造を取得します。JsValueはあらゆるJSONデータ型の共通インタフェースです。 JSONの最上位構造はOBJECT型かARRAY型のいずれかとなります。


JSONデータの具体化

  1. JsObject obj;
  2. if(root.getJsTypes() == JsTypes.OBJECT){
  3. obj = (JsObject) root;
  4. }
JSONデータの具体的な型種別はgetJsTypesメソッドで取得できます。このメソッドはEnum型値を返すので、switch文で判定することも可能です。JsObjectはOBJECT型に対応するクラスです。


OBJECT型からのKeyValue値取得。

  1. JsValue val = obj.getValue("Age");
  2. JsNumber age;
  3. if(val.getJsTypes() == JsTypes.NUMBER){
  4. age = (JsNumber) val;
  5. }
JsObjectのgetValueメソッドにキー文字列を渡すと、対応する値を返します。JsNumberはNUMBER型に対応するクラスです。


NUMBER型からの数値取得。

  1. System.out.println(age.intValue());
JsNumberのintValueメソッドはNUMBER型の整数値を返します。NUMBER型には固定小数点数を格納することが可能であり、型変換した数値を取得することができます。


JSONデータのストア

  1. try{
  2. Json.dumpJson(writer, obj);
  3. }catch(IOException e){
  4. // IO error
  5. }catch(JsVisitException e){
  6. // visit error
  7. }
dumpJsonメソッドは、java.lang.Appendable型オブジェクト(つまり全てのWriter)にJSONデータを出力しま す。ビジターパターンを利用することにより、オリジナルのインデンテーションや改行ポリシーを用いたJSONデータを出力する手段も用意されています。