使用 Scala 获取较低级别的 JSON 数据

use Scala to get JSON data in lower levels

我是 Scala 的初学者,我有 JSON 格式如下的数据:

{
    "index_key": {
        "time":"12938473",
        "event_detail": {
            "event_name":"click",
            "location":"US"
        }
    }
}

我正在尝试获取 "index_key" 的内容并 将第二层的内容提取为新的 JSON objet 并启动 class基于二级数据

{
    "time":"12938473",
    "event_detail": {
        "event_name":"click",
        "location":"US"
    }
}

我试过用json4s从上面的json中提取出一个事件class,但是怎么去掉"index_key" 哪个是一级键?

 case class Detail(event_name: String, location: String)
 case class Event(time: String, event_detail: Detail)

 json.extract[Event]

我已经阅读了 json4s 文档,还有 http://www.scala-lang.org/api/2.10.3/index.html#scala.util.parsing.json.JSON$,但还是不太明白,因为预定义的 json 似乎应该是合适的对于解析器?

谁能告诉我如何获取 json 结构的二级数据(或任何更低级别的数据)?

您可以使用\获取您要提取的对象:

val json = parse(str) \ "index_key"
json.extract[Event]