在 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 数据,您可能需要使用其他的解析库。
希望这个例子能够帮助您解决问题!