GeekFactory

int128.hatenablog.com

Jsonizer 0.9

Google App Engineに最適化したJSONライブラリ Jsonizer のバージョン0.9をリリースしました。以前のエントリで開発中と書きましたが、仕様が安定してきたので公開します。

Slim3と組み合わせて使う場合は以下のようになります。タイプセーフなプロパティマッピングが特徴です。

public class DataController extends Controller {
  public Navigation run() throws Exception {
    List<Hoge> hoges = Datastore.query()...;
    
    Jsonizer jsonizer = new Jsonizer();
    jsonizer.type(Hoge.class).with(new PropertyGetter<Hoge>() {
      private final HogeMeta m = HogeMeta.get();
      public void get(Hoge e) {
        property(Datastore.keyToString(e.getKey())).as(m.key);
        property(e.getUrl()).as(m.url);
        property(e.getDate().getTime()).as(m.date);
      }
    });
    jsonizer.jsonize(hoges).send(response);
    return null;
  }
}

ダウンロードは jsonizer - Template based JSON Serializer - Google Project Hosting からどうぞ。