Slide 18
Slide 18 text
Jackson is too flexible
@JsonDeserialize(as=classOf[BarNew])
case class Bar(@JsonProperty("name") value: String)
case class BarNew(name: String, age: Integer = 0)
@JsonTypeInfo(use=Id.CLASS, include=As.PROPERTY, property="class")
trait Zoo
case class ZooOne(val1: Long, val2: Long) extends Zoo
case class ZooTwo(name: String) extends Zoo
JSON-RPC