首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scalatra命令和验证嵌套对象

Scalatra命令和验证嵌套对象
EN

Stack Overflow用户
提问于 2013-06-20 21:47:25
回答 1查看 495关注 0票数 1

我是Scala和Scalatra的新手。我只是想知道,如何使用Scalatra命令来验证嵌套对象,例如下面的图像作为整个对象验证的一部分?

代码语言:javascript
复制
{ "id" : 1,
  "name" : "First item",
  "images": [
    { "src" : "first_image.jpg" },
    { "src" : "second_image.jpg" },
    { "src" : "third_image.jpg" }    
  ]
}
EN

回答 1

Stack Overflow用户

发布于 2014-01-14 19:19:24

从源代码看,似乎只支持简单值的嵌套提取。详情见下文。

您可以使用嵌套路径从Json中提取值:

代码语言:javascript
复制
  val name: Field[String] = asType[String]("keyword.name")

这将从这个json中提取出'test‘:

代码语言:javascript
复制
{keyword:{name:'test'}}

您可以在org.scalatra.json.JsonValueReader类中查找此提取的代码。这个阅读器在方法org.scalatra.commands.Command.bindTo中使用。

代码语言:javascript
复制
...
      val result = b.field.valueSource match {
        case ValueSource.Body => fieldBinding(data.read(name).right.map(_ map (_.asInstanceOf[fieldBinding.S])))
...

在JValue对象上实现_.asInstanceOffieldBinding.S调用。这个提取只适用于简单类型(检查这个问题:How to parse JSON in Scala using standard Scala classes?)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17215330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档