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

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


我正在尝试获取“ index_key”的内容,并将第二层的内容提取为新的JSON对象,并根据第二层数据启动一个类。

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


我试图使用json4s从上述json中提取事件类,但是如何摆脱作为第一级密钥的“ 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]

10-05 21:10
查看更多