java - 使用Scala获取底层的JSON数据

标签 java arrays json scala json4s

我是 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中提取出一个Event类,但是如何去掉第一级键“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]

关于java - 使用Scala获取底层的JSON数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31225551/

相关文章:

c++ - 释放二维数组中的内存

javascript - 验证长字符串是否有足够的可分割空间用于显示

java - 为什么我无法访问我的方法?

java - 无法在 JTable 中使用 DefaultTableModel

java - JTable 中的问题格式化字段 - Integer 和 Double 之间的区别

json - psql在字符串中插入带有双引号的json

C# 自定义 Json.NET 列表序列化

java - 设置不同于类名的实体种类名称

java - 使用类方法填充数组

javascript - 在 Javascript/Reactjs 中使用 Fetch API 和 map() 显示 JSON 数据