ソース コードから、単純な値のネストされた抽出のみがサポートされているようです。詳細は以下。
ネストされたパスを使用して、Json から値を抽出できます。
val name: Field[String] = asType[String]("keyword.name")
これにより、この json から「test」が抽出されます。
{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])))
...
「_.asInstanceOf[fieldBinding.S]」という呼び出しは、JValue オブジェクトで実現されます。この抽出は、単純な型に対してのみ機能します (この質問を確認してください: How to parse JSON in Scala using standard Scala classes? )。