此处可以使用fold
将List[JsObject]
转换为JsArray
吗?
def getJsonArray(list: List[JsObject]): JsArray = {
def go(l: List[JsObject], acc: JsArray) : JsArray = l match {
case x :: xs => go(xs, acc ++ Json.arr(x))
case Nil => acc
}
go(list, JsArray())
}
答案 0 :(得分:4)
是的,这应该大致相同:
def getJsonArray(list: List[JsObject]): JsArray = {
list.foldLeft(JsArray())((acc, x) => acc ++ Json.arr(x))
}