処理したいJSONリストは次のとおりです。
scala> jsonStructure \ "response" \ "docs"
res4: play.api.libs.json.JsValue = [{"title":"the very first document"},{"title":"on brick walls"}]
私はそれをリストに変換しようとしましたが、別のセマンティクスを持つもの、つまりそのリストだけを要素とするリストを取得しました:
scala> jsonStructure \ "response" \\ "docs"
res3: Seq[play.api.libs.json.JsValue] = List([{"title":"the very first document"},{"title":"on brick walls"}])
scala> res3.size
res4: Int = 1
私はトリックを行うこのクラッジを試しました:
scala> (jsonStructure \ "response" \ "docs").as[Seq[play.api.libs.json.JsValue]]
res9: Seq[play.api.libs.json.JsValue] = List({"title":"the very first document"}, {"title":"on brick walls"})
scala> res9 size
res10: Int = 2
なぜ機能しなかったの\\
ですか?JsValue を JsArray に理解する慣用的な方法は何ですか? 「ナビゲーションを使用して\決して失敗しない」という哲学を維持しながら?リスト要素であった obj 内の obj のリストのように、より深い構造を解析したい。深くネストされた構造で扱いにくくならない方法が必要です。
複雑で脆いなどの場合は、私のアプローチを自由に修正してください。