在 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 中的每个元素,提取出其中的 name 和 age 字段,并打印出来。
上述代码使用了 json4s 的 JValue 类型来表示 JSON 数据。JValue 是一个递归的数据结构,可以表示 JSON 中的任意值。在遍历 JSON Array 时,我们使用了模式匹配来判断当前元素是否为 JObject,如果是,就提取出其中的子元素。然后我们使用 find 方法查找 name 和 age 字段,并使用 getOrElse 方法获取字段的值。
需要注意的是,json4s 库中的 parse 方法默认使用 JsonMethods 中的 parse 方法进行解析,该方法支持的 JSON 格式包括 JSON Object 和 JSON Array。如果您需要解析其他格式的 JSON 数据,例如包含 JSON Schema 的 JSON 数据,您可能需要使用其他的解析库。
希望这个例子能够帮助您解决问题!