マイコミジャーナルでJSONICが紹介されました

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

朝読んでギョッとしたよ。こういう経験は初めてなのですが、意外と心臓に悪い(w

異様なまでに技術色の強いマイコミジャーナルとはいえ、こんなマイナープロダクトを紹介していただけるとは。しかも、三ページに渡って。いやはや、ありがたいです。

バグ報告や要望は、sourcefoge.jpのトラッカーかこの日記のコメントにでも書いてもらえれば対応します。あと、コピペ推奨(w なのでパッケージ名変えて自作のフレームワークの一部として利用したりソースの一部分をコピペしたりしてもらって一向に構いません*1

次は4/30リリースでversion 1.0とする予定ですが、基本は0.9.7と同じなのですが、以下ような変更を加えてます(って羅列すると結構追加されてるな……。一旦0.9.8出すか)。

  • JSON.decode(Reader), JSON.decode(InputStream)などを追加
  • java.net.URL, java.net.URIの相互変換に対応
  • 文字列からNumber型への変換時プラスから始まる場合はプラスを除去し変換するよう変更
  • Convertにて整数値への変換の際、intValue()などを使用していましたが範囲をはずれた値が入力された場合エラーにならないためintValueExact()を使用するように変更しました。
  • 文字コード設定、GZip圧縮などを簡単に行えるnet.arnx.jsonic.web.GatewayFilterを追加しました。
  • WebServiceServletにて変換時に用いるJSON#setLocale(Locale locale)にHttpServletRequest#getLocale()の値を設定するようにしました。
  • WebServiceServletにキャッシュコントロールに関するヘッダを出力する機能を追加しました。
  • WebServiceServletにて呼び出されたBeanにinit()、destroy()メソッドがある場合処理の前後でそれぞれのメソッドを呼び出すようにしました。
  • WebServiceServletにてUnsupportedOperationExceptionだけでなくIllegalStateExceptionが投げられた時も404 Not Foundとなるように変更しました。
  • RESTのサンプルをよりRestfulな感じにしました。

*1:まぁ、Apache License 2.0の制限はありますが……。