結論から言うと、私の環境ではうまく使えなかったので、実際の使用は見合わせました。
が、かなり便利そうだったので、いつか使うとき用に備忘録としてまとめます。
今回紹介するのは、「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 を使用するようにしてください。