json - Play Scala JSON 正文解析器默认值字段

标签 json scala playframework-2.0 default slick

您好,我在使用 JSON 正文解析器时遇到了问题。
我的问题是以下我有一个带有一些可选参数 (Option[T]) 的案例类和一个带有默认值的参数,我不想将其输入为 Option[T]。

但是,当解析具有省略默认值的字段的 JSON 正文时,我收到一个错误

play.api.libs.JsError
/count error path missing

这是我的 Controller 代码:
object MyController extends Controller{


  implicit val itemWrites = Json.writes[Item]
  implicit val itemReads = Json.reads[Item]
  implicit val itemFormats = Json.format[Item]

  def add = DBAction(parse.json){ implicit rs =>

    val item =  rs.request.body.validate[Item]
}

这是我的案例类:
case class Item( id:Option[Int], name:String, description:Option[String], count:Int=0)

我是否有机会使用默认值字段实现与 Option[T] 相同的行为?

谢谢

我正在使用 :
  • 斯卡拉 2.10
  • Play Framework 2.2.1
  • Play-Slick 插件 0.5.0.8
  • 最佳答案

    几乎。您可以使用 Option 定义默认值,如下所示:

    case class Item( description:Option[String] = Some("String"))
    

    如果你绝对不想要一个选项,你可以看看这里:

    Defaults for missing properties in play 2 JSON formats

    关于json - Play Scala JSON 正文解析器默认值字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629758/

    相关文章:

    javascript - 将字符串数组映射到 JavaScript 中的 json 对象

    c# - 如何将字符串解析为忽略时区的 JObject

    scala - Spark 1.5 MlLib LDA - 获取新文档的主题分布

    scala - * 案例类投影

    scala - 为什么 Scala 支持影子变量?

    excel - Play框架-dependency.yml未自动生成

    scala - Play Framework scala如何创建临时变量

    java - JSON.NET 中的 Flush() 无法按预期工作

    scala - Scala Play Action 中隐式参数请求的范围和好处?

    python - 将 python 字典附加到 csv