使用JsonPath从scala中提取完整字段:值列表



我试图从json文档中获得一组完全合格的路径:值对。

。鉴于

{"a":"b", "c":{"d":3"}}

我想

a :: "b"
c.d :: 3

或精神上类似的东西。似乎有一个java库声称可以做到这一点:

import $ivy.`com.jayway.jsonpath:json-path:2.6.0`
import com.jayway.jsonpath.Configuration
import com.jayway.jsonpath.Option
import com.jayway.jsonpath.JsonPath._
val conf = com.jayway.jsonpath.Configuration.defaultConfiguration();
val pathList = using(conf).parse("""{"a":"b", "c":{"d":3}}""")
val arg = pathList.read("$..id")

我得到这个错误

java.lang.ClassCastException: net.minidev.json.JSONArray cannot be cast to scala.runtime.Nothing$
at repl.MdocSession$App.<init>(json test.worksheet.sc:38)
at repl.MdocSession$.app(json test.worksheet.sc:3)

有什么想法吗?

val arg = pathList.read[net.minidev.json.JSONArray]("$..*")

需要一个cast…

最新更新