我使用一个函数来转换从前端发送的 json 信息:
def convertFromJson(json: JsValue): Item = {
Item(
(json \ "id").asOpt[String],
(json \ "name").asOpt[String],
(json \ "project").asOpt[String],
(json \ "price").asOpt[scala.math.BigDecimal],
if ((json \ "quantity").asOpt[String].contains("NaN"))
{
None
}
else
{
(json \ "quantity").asOpt[scala.math.BigDecimal]
}
)
}
如果为数量字段输入了一个正常的数字,如 2.0,那么我将能够看到一个 json 对象,如:
{"id":"5aa7367","quantity":2}
问题是,如果我的前端将 NaN 值发送到 Quantity 字段的后端,那么我会得到:
{"id":"5aa7367"}
有没有办法得到像 {"id":"5aa7367","quantity":None} 这样的东西。数量已被声明为 BigDecimal。