从 JsArray 中提取 Json 属性值(播放)
Extract Json attribute value from JsArray ( play )
以下是我的 Scala 代码片段。我正在使用 play 2.4。下面是我的 "message" val.
的输出
import play.api.libs.json._
.map{ _ match {
case (Some( message :JsArray ), x) => {
println( message )
println((message \ "collectorId").map(_.as[Int]))
}
}
output :
["{\"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}"]
ListBuffer()
如何提取
"collectorId"
值作为 Seq[Int]。当我执行代码时,我将它作为 ListBuffer() 获取。
我发现 JsObject 应该代替 JsArray。
Thanks for the support guys. Here is how I was able to solve the issue.
case (Some( message :JsArray ), response ) => {
(message \ "collectorId").map{_ match { case JsNumber(s) => s.intValue() }
}
}
使用
(message \ "collectorId" map(_.as[Int]) toSeq
//> res0: Seq[Int] = List(4, 5, 4, 2, 4)
其中 message
是 JArray
。
以下是我的 Scala 代码片段。我正在使用 play 2.4。下面是我的 "message" val.
的输出import play.api.libs.json._
.map{ _ match {
case (Some( message :JsArray ), x) => {
println( message )
println((message \ "collectorId").map(_.as[Int]))
}
}
output :
["{\"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}"]
ListBuffer()
如何提取
"collectorId"
值作为 Seq[Int]。当我执行代码时,我将它作为 ListBuffer() 获取。
我发现 JsObject 应该代替 JsArray。
Thanks for the support guys. Here is how I was able to solve the issue.
case (Some( message :JsArray ), response ) => {
(message \ "collectorId").map{_ match { case JsNumber(s) => s.intValue() }
}
}
使用
(message \ "collectorId" map(_.as[Int]) toSeq
//> res0: Seq[Int] = List(4, 5, 4, 2, 4)
其中 message
是 JArray
。