2

これが機能しないのはなぜですか?

object JsonExample extends App {
  import org.json4s._
  import org.json4s.native.Serialization
  import org.json4s.native.Serialization.{read, write}
  implicit val formats = Serialization.formats(NoTypeHints)

  case class Winner(id: Long, numbers: List[Int])    

  trait Greet { val greeting = "hi"}
  val obj = new Winner(1, List(1,2)) with Greet
  println(write(obj))
}

これは空の JSON オブジェクトを出力します

{}

「with Greet」を削除すると、(正しい)結果が得られます。

{"id":1,"numbers":[1,2]}
4

2 に答える 2

4

フォーマットをより具体的にすると、次のような結果を得ることができます。

import org.json4s.{FieldSerializer, DefaultFormats}
import org.json4s.native.Serialization.write

case class Winner(id: Long, numbers: List[Int])
trait Greet { val greeting = "hi"}

implicit val formats = DefaultFormats + FieldSerializer[Winner with Greet]()

val obj = new Winner(1, List(1,2)) with Greet

//returns {"greeting":"hi","id":1,"numbers":[1,2]}
write(obj)
于 2014-10-03T14:33:34.760 に答える