Scalatra命令和验证嵌套对象
我对Scala和Scalatra都是新手。我只是想知道,如何使用Scalatra命令来验证嵌套对象,例如下面的图像,作为验证整个对象的一部分Scalatra命令和验证嵌套对象,scala,scalatra,Scala,Scalatra,我对Scala和Scalatra都是新手。我只是想知道,如何使用Scalatra命令来验证嵌套对象,例如下面的图像,作为验证整个对象的一部分 { "id" : 1, "name" : "First item", "images": [ { "src" : "first_image.jpg" }, { "src" : "second_image.jpg" }, { "src" : "third_image.jpg" } ] } 从源代码来看,似乎只支持
{ "id" : 1,
"name" : "First item",
"images": [
{ "src" : "first_image.jpg" },
{ "src" : "second_image.jpg" },
{ "src" : "third_image.jpg" }
]
}
从源代码来看,似乎只支持简单值的嵌套提取。详情如下 您可以使用嵌套路径从Json中提取值:
val name: Field[String] = asType[String]("keyword.name")
这将从此json中提取“测试”:
{keyword:{name:'test'}}
您可以在org.scalatra.json.JsonValueReader类中查找此提取的代码。该读取器用于org.scalatra.commands.Command.bindTo方法
关键来源是:
...
val result = b.field.valueSource match {
case ValueSource.Body => fieldBinding(data.read(name).right.map(_ map (_.asInstanceOf[fieldBinding.S])))
...
在JValue对象上实现了调用“\ u.asInstanceOf[fieldBinding.S]”。此提取仅适用于简单类型(请检查此问题:)