포함하는 엔티티에 대해 json 형식을 쓰려고합니다. 옵션의지도.play.api.libs.json.Format의 인스턴스가 scala.Predef.Map [Java.String [scala.Option [scala.Double]]에 사용 가능하지 않습니다.
import play.api.libs.json.{Json, OFormat}
val a: Map[String, Option[Double]] = Map("a" -> None)
case class Person(x: Map[String, Option[Double]])
object Person {
implicit val personFormat: OFormat[Person] = Json.format[Person]
}
Json.toJson(Person(a))
None 값을 0.0으로 매핑하면 유효한 값이 될 수 있으므로 좋은 해결책이 아닐 수도 있습니다. 없음은 null에 매핑되어야합니다. –
암시 적 쓰기에 다음과 같이 변경하면 이제 없음에 대해 null이 반환됩니다. JsObject (map.mapValues { case None => JsNull ) Some (x) => JsNumber (x) }' –
@ SuhitKamthe 네, 이것은 그러한 함축을 정의하는 방법의 예입니다. –