Scalaケースクラスがあります
case class Example(name: String, number: Int)
およびコンパニオンオブジェクト
object Example {
implicit object ExampleFormat extends Format[Example] {
def reads(json: JsValue) = {
JsSuccess(Example(
(json \ "name").as[String],
(json \ "number").as[Int]))
}
def writes(...){}
}
}
JSONをScalaオブジェクトに変換します。
JSONが有効な場合(つまり{"name":"name","number": 0}、正常に機能します。ただし、numberが引用符で囲まれている場合{"name":"name","number":"0"}、エラーが発生します:validate.error.expected.jsnumber。
そのような場合に暗黙的に変換する方法はありStringますIntか(番号が有効であると仮定して)?