• Showing Page History #69105

Show page source of Sample #69105

利用法サンプル

----

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データを出力する手段も用意されています。

----