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