我有一个用JSON序列化格式编写的嵌套数组,我想解析它并递归处理这些项目。喷涂怎么办? 这是我理想的代码。但它没有用。
import Array._
import spray.json._
import DefaultJsonProtocol._
var s = "[1,2,[3,4,5,[6]]]"
var array = JsonParser(s).convertTo[Array[_]]
// error: Cannot find JsonReader or JsonFormat type class for Array[_]
// JsonParser(s).convertTo[Array[_]]
for (item <- array) {
item match {
case x: Int => do some thing
case y: Array[_] => do some thing recursively
}
}
答案 0 :(得分:1)
import Array._
import spray.json._
import DefaultJsonProtocol._
var s = "[1,2,[3,4,5,[6]]]"
var array = JsonParser(s).convertTo[List[JsValue]]
for (item <- array) {
item match {
case x: JsNumber => println("this is a number:", x)
case y: JsArray => println("this is an array:", y)
case _ => println("xxxxx")
}
}
这是我的打印结果:
(this is a number:,1)
(this is a number:,2)
(this is an array:,[3,4,5,[6]])