У меня есть пара атрибутов Boolean
в моей модели API, и я хотел бы принимать значения true
/false
, а также 1
/0
. Моей первой идеей было реализовать собственный форматтер:
object UserJsonProtocol extends DefaultJsonProtocol {
implicit object MyBooleanJsonFormat extends JsonFormat[Boolean] {
def write(value: Boolean): JsString = {
return JsString(value.toString)
}
def read(value: JsValue) = {
value match {
case JsString("1") => true
case JsString("0") => false
case JsString("true") => true
case JsString("false") => false
case _ => throw new DeserializationException("Not a boolean")
}
}
}
implicit val userFormat = jsonFormat15(User.apply)
}
где User
— модель с Boolean
атрибутами. К сожалению, приведенное выше решение не имеет никакого эффекта - 1/0
не принимаются как логические значения. Любое решение?