利用法サンプル
----
JSONデータのロード
{{{ code java
JsValue root;
try{
root = Json.parseJson(reader);
}catch(IOException e){
// IO error
}catch(JsParseException e){
// parse error
}
}}}
parseJsonメソッドは、java.io.Reader型オブジェクトからJSONデータを読み込み、最上位構造を取得します。JsValueはあらゆるJSONデータ型の共通インタフェースです。
JSONの最上位構造はOBJECT型かARRAY型のいずれかとなります。
----
JSONデータの具体化
{{{ code java
JsObject obj;
if(root.getJsTypes() == JsTypes.OBJECT){
obj = (JsObject) root;
}
}}}
JSONデータの具体的な型種別はgetJsTypesメソッドで取得できます。このメソッドはEnum型値を返すので、switch文で判定することも可能です。JsObjectはOBJECT型に対応するクラスです。
----
OBJECT型からのKeyValue値取得。
{{{ code java
JsValue val = obj.getValue("Age");
JsNumber age;
if(val.getJsTypes() == JsTypes.NUMBER){
age = (JsNumber) val;
}
}}}
JsObjectのgetValueメソッドにキー文字列を渡すと、対応する値を返します。JsNumberはNUMBER型に対応するクラスです。
----
NUMBER型からの数値取得。
{{{ code java
System.out.println(age.intValue());
}}}
JsNumberのintValueメソッドはNUMBER型の整数値を返します。NUMBER型には固定小数点数を格納することが可能であり、型変換した数値を取得することができます。
----
JSONデータのストア
{{{ code java
try{
Json.dumpJson(writer, obj);
}catch(IOException e){
// IO error
}catch(JsVisitException e){
// visit error
}
}}}
dumpJsonメソッドは、java.lang.Appendable型オブジェクト(つまり全てのWriter)にJSONデータを出力しま す。ビジターパターンを利用することにより、オリジナルのインデンテーションや改行ポリシーを用いたJSONデータを出力する手段も用意されています。
----