3

Jerkson を使用して、ジェネリック型を取るメソッドで Enumeration の Json 表現を生成しようとしていますが、奇妙に見えます。代わりにケース オブジェクトも使用してみましたが、Json の結果は次のように見栄えがよくありません。

object WeekDay extends Enumeration {
  type WeekDay = Value
  val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}

trait Letter
case object A extends Letter
case object B extends Letter
case object C extends Letter

object Test extends App {
  import com.codahale.jerkson.Json._

  import WeekDay._
  def printWeekDay(weekday: WeekDay) {println("weekday: " + generate(weekday))}
  printWeekDay(Mon)

  def printLetter(letter: Letter) {println("letter: " + generate(letter))}
  printLetter(A)
}

これを実行すると、次のようになります。

weekday: {"$outer":{"ValueSet$module":null},"scala$Enumeration$Val$$i":0}
letter: {}

Jsonで正しい値を取得する方法についてのアイデアはありますか?

4

1 に答える 1

0

Enumeration と jerkson.Json.JsValue の間で暗黙的な変換が必要になる場合があります。

playframework はこの種のアプローチを使用します

http://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.libs.json.Writes

于 2012-05-09T22:23:10.860 に答える