scala中JSONObject(string,JSONArray),如何输出JSONArray的每一个值
时间: 2024-05-07 17:21:29 浏览: 119
假设你已经通过以下代码创建了一个JSONObject对象:
```scala
import org.json.JSONObject
import org.json.JSONArray
val jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\", \"hobbies\":[\"reading\", \"traveling\", \"swimming\"]}"
val jsonObj = new JSONObject(jsonString)
val jsonArray = jsonObj.getJSONArray("hobbies")
```
那么,你可以通过如下代码输出JSONArray中每一个值:
```scala
for (i <- 0 until jsonArray.length()) {
println(jsonArray.get(i))
}
```
这里使用了for循环,从0遍历到数组长度减一,然后通过get方法获取每一个值并输出。注意,get方法返回的是Any类型,因此你可能需要进行类型转换。在这个例子中,JSONArray中的每一个值都是String类型,因此无需进行类型转换。
相关问题
JSONArray在scala中的遍历输出
在 Scala 中,可以使用 Java 中的 JSON 库 org.json 来操作 JSON 数据。其中 JSONArray 类代表了 JSON 中的数组。
遍历并输出 JSONArray 中的元素可以使用 for 循环或者 foreach 方法。示例代码如下:
```scala
import org.json.JSONArray
val jsonArrayStr = """["apple", "banana", "orange"]"""
val jsonArray = new JSONArray(jsonArrayStr)
// 使用 for 循环遍历
for (i <- 0 until jsonArray.length()) {
val element = jsonArray.get(i)
println(element)
}
// 使用 foreach 方法遍历
jsonArray.forEach(element => println(element))
```
上述代码中,我们首先将 JSON 字符串转换为 JSONArray 对象。然后,使用 for 循环或者 foreach 方法遍历 JSONArray 中的元素并输出。
注意,需要将 JSONArray 中的元素使用 get 方法获取,因为 JSONArray 中的元素类型是 Object。
scala遍历jsonarray
可以使用Scala自带的JSON库,如下所示:
```
import scala.util.parsing.json._
val jsonString = """[
| { "name": "John", "age": 30 },
| { "name": "Mary", "age": 25 },
| { "name": "Bob", "age": 40 }
|]""".stripMargin
val json = JSON.parseFull(jsonString)
json match {
case Some(array: List[Map[String, Any]]) => array.foreach(person => println(person("name"), person("age")))
case _ => println("Invalid JSON")
}
```
这里使用了`JSON.parseFull`将JSON字符串解析成Scala中的对象。由于JSON数组是一个列表,因此可以使用`List[Map[String, Any]]`来表示。然后使用`foreach`遍历列表中的每个元素,并输出每个人的姓名和年龄。
阅读全文