scala中多个json解析加打印输出案例
时间: 2024-11-15 17:23:00 浏览: 11
在Scala中,你可以使用若干库来解析JSON并将其打印出来,比如`play-json`、`circe`或者`json4s`。这里我将提供一个使用`play-json`库的例子:
首先,你需要添加`play-json`依赖到你的项目中,如果你使用的是Sbt构建工具,可以在`build.sbt`文件里添加如下依赖:
```scala
libraryDependencies += "com.typesafe.play" %% "play-json" % "2.9.0"
```
然后,假设你有一个包含两个JSON对象的字符串:
```scala
val jsonString = """|{
| "name": "John",
| "age": 30,
| "city": "New York"
|}, {
| "name": "Jane",
| "age": 25,
| "city": "San Francisco"
|}"""
```
使用`play-json`解析和打印:
```scala
import play.api.libs.json._
// 解析JSON字符串
val jsonObjects = Json.parse(jsonString).as[List[JsValue]]
// 遍历每个解析后的值,并打印
jsonObjects.foreach { jsonObj =>
val person = jsonObj.as[JsObject]
println(s"Name: ${person \ "name"}, Age: ${person \ "age"}, City: ${person \ "city"}")
}
```
在这个例子中,我们首先使用`Json.parse`函数将JSON字符串转换成`JsValue`,然后通过`as`方法尝试将其转换为列表。接着,我们遍历这个列表,对每个元素进一步解析为`JsObject`,并提取出`name`、`age`和`city`字段。
阅读全文