我有以下代码将 Json 对象重新格式化为另一个 Json 对象:
val newJson = Json.toJson(retJson.fields.flatMap {
case (epoch, obj) => obj.as[JsObject].fields.map(epoch -> _)
}.groupBy(_._2._1)
.mapValues(
_.map {
case (epoch, (k, v)) => {
var epochDate = epoch.substring(0, 13).toLong
epochDate = convertEpoch(epochDate, timezoneOffset)
Seq[Double](epochDate, sensorCalculations(whatevers, Option(v.as[String])))
}
}))
这很好用,但是我们有一个新的要求,当一个值为 -1 时,我们应该忽略这个元素并且不将它包含在结果中。我不确定如何正确执行此操作。
- - 编辑 - -
我尝试了以下导致匹配错误的方法
case (epoch, (k, v)) if v.as[String] != "-1" => {
谢谢。