Я пытаюсь выполнить извлечение на основе XPath с помощью Lift JSON, за исключением того, что шаблон извлечения xpath определяется во время выполнения.
Чтобы проиллюстрировать это, я хотел бы преобразовать строку «a.b.c.d» в извлечение JSON Lift, используя (json \ «a» \ «b» \ «c»).extract[List[Int]]
import net.liftweb.json._
import net.liftweb.json.JsonDSL._
import net.liftweb.json.JsonAST._
import net.liftweb.json.Extraction._
implicit val formats = net.liftweb.json.DefaultFormats
val x = """{ "a" : { "b" : [ {"c" : 10},{ "c" : 20 } ] } }"""
val json = parse(x)
val dataString = "a.b.c"
val dataList = dataString.split("\\.").toList
// List(a,b,c)
// Я хотел бы преобразовать приведенную выше строку в - (json \ "a" \ "b" \ "c").extract[List[Int]]
Можно ли использовать foldLeft для достижения этого шаблона?