如何编写转换
的Json Transformer {"id" : [1,2], "name":["a","b"]}
至idname:[ {id:1, name:"a"}, {id:2 , name:"b"}]
我正在遵循本指南实施transfomration https://www.playframework.com/documentation/2.4.x/ScalaJsonTransformers
答案 0 :(得分:0)
编写通用情况变压器可能很困难。相反,您可以尝试通过Map
和List
的标准Scala对象进行推理。以下是使用map
两次执行此操作的方法:
import play.api.libs.json._
val a = Json.parse("""{"id" : [1,2], "name":["a","b"]}""").as[Map[String, List[JsValue]]]
val b = a.map {case (k, v) => v.map(k -> _)}
.transpose
.map(_.toMap)
Json.toJson(b)
// play.api.libs.json.JsValue = [{"id":1,"name":"a"},{"id":2,"name":"b"}]