这里是spray-json示例。这里是NullOptions特质。
问题出在当我声明一个case class的时候。
我得到了一个错误信息:
一切都正常。但我不想有一个情况类,其中所有成员都是
P.S.
我知道通常
此外,在响应处理期间进行编组的完整示例在这里。
问题出在当我声明一个case class的时候。
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
trait,像这样:object MyJsonProtocol extends DefaultJsonProtocol with NullOptions {
implicit val some: RootJsonFormat[Some] = jsonFormat2(Some)
}
case class Some (
name:String,
age:Option[Int]
)
一切都正常。但我不想有一个情况类,其中所有成员都是
Option
。是否有一种方法可以配置spray json解组,只需设置null而无需额外的Option
类型?P.S.
我知道通常
Option
比空检查更好,但在我的情况下,这只是猴子代码。此外,在响应处理期间进行编组的完整示例在这里。