Для этого вы можете использовать дижон .
Добавить зависимости:
libraryDependency += "com.github.pathikrit" %% "dijon" % "0.3.0"
Добавить импорт:
import scala.language.dynamics._
import com.github.pathikrit.dijon._
Анализировать ваш JSON изстроку и запросить ее:
val json = parse(
"""{
"store": {
"book": [
{
"title": "Functional Programming in Scala"
}
]
}
}""")
assert(json.store.book(0).title == "Functional Programming in Scala")
assert(json.store.book(0).price == None)
def findInJson(json: SomeJson)(selector: SomeJson => SomeJson): SomeJson =
selector(json)
assert(findInJson(json)(_.store.book(0).title) == "Functional Programming in Scala")