【ハウツー】

JSONIC - Java WebアプリでJSONを活用しよう!

1 JSONICの基本事項

    竹添直樹  [2008/04/09]

    JSONとJSONIC

    JSONはJavaScript Object Notationの略で、JavaScriptでのハッシュとリストの記述法を利用したテキストベースのデータフォーマットだ。JavaScriptではeval()関数でオブジェクトに変換できるなど取り扱いが容易であるため、Ajaxでのデータ交換フォーマットとして利用されることが多い(セキュリティ面の問題から実際にはeval()関数で評価せず、JSONパーサを利用するほうが望ましい)。

    JSONICとはJavaオブジェクトとJSONを相互変換するためのオープンソースのライブラリだ。JSONIC以外にもJavaで利用可能なJSONライブラリにはJSON-libなどがあるが、JSONICは使い方が簡単で依存ライブラリもなく、XMLからJSONへの変換や高度な拡張性など、機能面でも優れている。

    JSONというとAjaxでのデータのやり取りに使われるデータフォーマットというイメージが強いが、使い方次第ではAjaxを使わないケースでも利用する価値がある。本稿ではJSONICを使ってJavaによるWebアプリケーション開発でJSONを活用する方法を紹介する。なお、本稿の内容は執筆時点の最新版であるJSONIC 0.9.7に基づいている。

    JSONICの使い方

    JSONICのAPIは非常にシンプルだ。JSONとJavaオブジェクトの変換は、net.arnx.jsonic.JSONのstaticメソッドであるencode()メソッドとdecode()メソッドで行うことができる。encode()メソッドにはJavaBeanのほか、MapやList、配列を渡すことも可能だ。JavaBeanのpublicフィールドはゲッターメソッドがなくてもプロパティとして扱ってくれる。また、staticなゲッタープロパティおよびtransientが付与されたフィールドは変換対象にならない。

    import net.arnx.jsonic.JSON;
    ...
    
    // POJOをJSONに変換
    String text = JSON.encode(new Hoge());
    
    // JSONをPOJOに変換
    Hoge hoge = JSON.decode(text, Hoge.class);
    

    これだけシンプルだと使い方に迷うことはないだろう。このシンプルさがJSONICの最大の特徴だ。なお、encode()メソッドの第2引数にtrueを指定することで、見やすくフォーマットされたJSONを取得することができる。また、decode()メソッドは文字列だけでなく、ReaderやInputStreamを渡してデコードを行うことも可能だ。また、org.w3c.dom.Documentもしくはorg.w3c.dom.Elementを渡すことでXMLをJSONに変換することもできる。

    // POJOをフォーマットされたJSONに変換
    String text = JSON.encode(new Hoge(), true);
    
    関連したタグ

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン