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
か(番号が有効であると仮定して)?