scala 解析jsonarray

在 Scala 中解析 JSON Array 非常简单。您可以使用 Scala 自带的 json4s 库进行 JSON 解析操作。下面是一个简单的示例代码:

import org.json4s._
import org.json4s.native.JsonMethods._
val jsonString = """[{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]"""
val json = parse(jsonString)
// 遍历 JSON Array 中的每个元素并打印
for (JObject(child) <- json) {
  val name = child.find(_._1 == "name").map(_._2).getOrElse("")
  val age = child.find(_._1 == "age").map(_._2).getOrElse("")
  println(s"Name: $name, Age: $age")

在上面的代码中,首先我们定义了一个 JSON 字符串 jsonString,其中包含一个 JSON Array。然后我们使用 json4s 库中的 parse 方法将该字符串解析成一个 JValue 对象。接着我们遍历 JValue 中的每个元素,提取出其中的 nameage 字段,并打印出来。

上述代码使用了 json4sJValue 类型来表示 JSON 数据。JValue 是一个递归的数据结构,可以表示 JSON 中的任意值。在遍历 JSON Array 时,我们使用了模式匹配来判断当前元素是否为 JObject,如果是,就提取出其中的子元素。然后我们使用 find 方法查找 nameage 字段,并使用 getOrElse 方法获取字段的值。

需要注意的是,json4s 库中的 parse 方法默认使用 JsonMethods 中的 parse 方法进行解析,该方法支持的 JSON 格式包括 JSON Object 和 JSON Array。如果您需要解析其他格式的 JSON 数据,例如包含 JSON Schema 的 JSON 数据,您可能需要使用其他的解析库。

希望这个例子能够帮助您解决问题!

  •