在某些情况下,对于案例类,默认值比可选参数有意义:

case class Car(numberOfWheels:Int = 4, color:String)

case class Car(numbeOfWheels:Option[Int], color:String) //silly

在第一种情况下,我希望能够轻松地将以下json转换为实例:
{"color":"red"}

但是使用标准的jsonFormat2(Car),spray-json提示numberOfWheels的值丢失。

我如何最干净地解决这个问题?

最佳答案

我偶然发现了同样的问题。我已经创建了一个补丁来为我解决。它使具有默认值的字段为可选。

https://github.com/spray/spray-json/pull/56

更新:PR已更新,仍然打开https://github.com/spray/spray-json/pull/93

关于scala - 用Spray-json处理默认值的好方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15740925/

10-10 13:37