我有一个键-值对,其中值是一个无类型的Javascript数组:
{"data": [1, "abc", 54.0, "cdf"]}
我想在Scala中将值转换为Seq [Any]。
Seq(1, "abc", 54.0, "cdf")
到目前为止,我已经尝试过:
val jsonString = args(0).parseJson.asJsObject.getFields("data").seq
print(jsonString)
// Vector([1, "abc", 54.0, "cdf"])
答案 0 :(得分:1)
您需要进行以下转换,以将输出类型设置为Seq [Any]
import spray.json._
object Test extends App {
val json: String =
s"""
|{"data": [1, "abc", 54.0, "cdf"]}
""".stripMargin
val jsonString: Seq[Any] = json.parseJson.asJsObject.getFields("data").seq
.head.asInstanceOf[JsArray].elements.map(_.toString.replace("\"", "").asInstanceOf[Any])
println(jsonString.length)
jsonString.foreach(x => println(x))
}