json4s使っての疑問を発表してきた

json4s使ってみた

みたいな発表してきた

http://ponkotuy.com/study/json4s.pdf

slideshare使えないのでこっち。

概要

PDF読むの面倒な人向けに簡単に説明すると。

「json4s(lift-json)でcase classをSerializeしたいんだけど、Scala独特のenumだとどうするの」

という話です。

得られた話

  • ShortTypeHintはobjectがSingletonなのでむりー
  • unapplyでもうちょっとシンプルに書けるよ
  • マクロ使えば良いのでは
  • とはいえ組込みのEnumerationでも良いのではー

unapplyの話

unapply教えてもらったときは良く分からんかったけどこういうことですね。

イマイチな例

case x: JString => Direction.fromString(x.toString)

良い例

case JString(x) => Direction.fromString(x)

結局

結局はscala.Enumeration使うことにした