以下是我的 scala 代码的片段。我正在使用播放 2.4。下面是我的“消息”val 的输出。
import play.api.libs.json._
.map{ _ match {
case (Some( message :JsArray ), x) => {
println( message )
println((message \\ "collectorId").map(_.as[Int]))
}
}
输出 :
["{\"id\":1,\"createdAt\":\"2015-11-11T16:18:58.789\",\"collectorId\":4}", "{\"id\":5 ,\"createdAt\":\"2015-11-11T22:35:52.300\",\"collectorId\":5}", "{\"id\":2,\"createdAt\":\"2015 -11-11T16:21:05.377\",\"collectorId\":4}", "{\"id\":3,\"createdAt\":\"2015-11-11T22:35:20.408\" ,\"collectorId\":2}", "{\"id\":4,\"createdAt\":\"2015-11-11T22:35:38.602\",\"collectorId\":4}" ]
列表缓冲区()
如何提取
“收集器 ID”
值作为 Seq[Int]。当我执行代码时,我得到它作为 ListBuffer()。
我发现 JsObject 应该在那里代替 JsArray。
感谢你们的支持。这是我解决问题的方法。
case (Some( message :JsArray ), response ) => {
(message \\ "collectorId").map{_ match { case JsNumber(s) => s.intValue() }
}
}