json - 使用 Scala 使用 Json4s 从 JSON 中提取字符串

标签 json scala parsing json4s

我有一个以下形式的 JSON 正文:

val body = 
{
    "a": "hello",
    "b": "goodbye"
}

我想提取“a”的值(所以我想要“hello”)并将其存储在 val 中。 我知道我应该使用“parse”和“Extract”(例如 val parsedjson = parse(body).extract[String]),但我不知道如何使用它们来专门提取“a”的值

最佳答案

要使用extract,您需要创建一个与您正在解析的 JSON 的形状相匹配的类。以下是使用您的输入数据的示例:

val body ="""
{
  "a": "hello",
  "b": "goodbye"
}
"""

case class Body(a: String, b: String)

import org.json4s._
import org.json4s.jackson.JsonMethods._

implicit val formats = DefaultFormats

val b = Extraction.extract[Body](parse(body))

println(b.a) // hello

关于json - 使用 Scala 使用 Json4s 从 JSON 中提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61617327/

相关文章:

scala - 具有特征的模拟类

scala - 为什么 Scala 需要递归函数的返回类型?

c - Linux sscanf 函数不填充变量

javascript - 如何使用 JavaScript 从 URL 读取 GET 数据?

android - ProgressDialog 或 ProgressBar 会减慢运行 Android 4.1 的应用程序

java - 将 XML 转换为 JSON,与 FasterXML 一起使用的 jaxb 类出现问题

ios - 获取调用的 JSON 函数时复制数据

java - 如果从实体关系调用 JsonIgnore 属性

scala - 如何获得在IntelliJ中创建新的Scala工作表的选项?

java - 使用 jsoup 解析脚本(JSON 数据)