結論から言うと、私の環境ではうまく使えなかったので、実際の使用は見合わせました。
が、かなり便利そうだったので、いつか使うとき用に備忘録としてまとめます。
今回紹介するのは、「JSONIC」というJava用のシンプルかつ高機能なJSONエンコーダー・デコーダーライブラリです。
GitHubはこちらから。
GitHub – hidekatsu-izuno/jsonic: simple json encoder/decoder for java
https://github.com/hidekatsu-izuno/jsonic
…しかし、よく見たら、今後機能強化が行われることがないメンテナンスモードに移行するとのこと。
もし利用する場合は、jackson への移行をおすすめしているとのことでした。
使い方のサンプルコードはこちら。
import net.arnx.jsonic.JSON; // POJOをJSONに変換します String text = JSON.encode(new Hoge()); // JSONをPOJOに変換します Hoge hoge = JSON.decode(text, Hoge.class);
いたってシンプルです。
また、XMLをJSONに変換したい場合は、下記のようにします。
Document doc = builder.parse(new File([変換したいXMLファイル])); String xmljson = JSON.encode(doc);
例えば、下記のようなXMLファイルを変換すると、
<feed xmlns="http://www.w3.org/2005/Atom"> <title>Feed Title</title> <entry> <title>Entry Title</title> </entry> </feed>
変換後のJSONは下記のようになります。
["feed", {"xmlns": "http://www.w3.org/2005/Atom"}, ["title", "Feed Title"], ["entry", ["title", "Entry Title"], ] ]
なお、この時、タグ間の空白文字も TextNodeとして出力されるらしいので、これが不要な場合は、DOM作成時に取り除く必要があるとのことでした。
以上、簡単ではありますが、JSONIC ライブラリの使い方でした。
もし、JSONのエンコード・デコードをシンプルに行えるライブラリをお探しでしたら、参考にしていただければと思います。
が、最初に書いたように、JSONIC は今後機能強化を行わないとのことでしたので、利用する場合は、jackson を使用するようにしてください。