这是spray-json 示例。这是NullOptions特征。
问题是当我声明一个案例类时说
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
}
case class Some (
name:String,
age:Int
)
并且 json 不包含字段,例如:
{
"name":"John"
}
我得到:java.util.NoSuchElementException: key not found: age
所以我必须添加一个这样Option
的NullOption
特征:
object MyJsonProtocol extends DefaultJsonProtocol with NullOptions {
implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
}
case class Some (
name:String,
age:Option[Int]
)
一切正常。但我不想有一个所有成员都是的案例类Option
。有没有办法将喷雾 json 解组配置为仅设置空值而无需其他Option
类型?
附言
我知道通常Option
比空检查更好,但在我的情况下它只是猴子代码。
响应处理期间编组的完整示例也在这里