使用spray-json处理默认值的好方法是什么

iwe*_*ein 6 scala spray spray-json

在某些情况下,默认值比case类中的选项更有意义:

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

case class Car(numbeOfWheels:Option[Int], color:String) //silly
Run Code Online (Sandbox Code Playgroud)

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

{"color":"red"}
Run Code Online (Sandbox Code Playgroud)

但是有了标准jsonFormat2(Car),喷雾json抱怨缺少价值numberOfWheels.

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

小智 8

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

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

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