继续这个问题,我有以下代码,但想将null
JSON 值映射到 Scala None。我得到的当前行为是包含与不包含它之间没有key
区别null
("key": null)
。我想将此映射到None
以便我可以将数据库条目设置为null
. 此外,当 akey
不包含在 JSON 中时,将其映射到现有值。
import io.circe.jawn.decode, io.circe.generic.auto._
case class Person(name: String, age: Int, description: Option[String])
val existingPerson = Person("mr complete", 42, Some("tall and fat"))
val incompletePersonJson = """{"description":null}"""
val update = decode[Person => Person](incompletePersonJson)
接着:
scala> println(update.map(_(existingPerson)))
Right(Person(mr updated,42,Some(tall and fat)))
但我想得到:
Right(Person(mr updated,42,None))