我是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]