如何使用Play 2.5 JSON转换重命名JSON密钥?

时间:2016-05-14 00:04:14

标签: json playframework

我只想使用Play的2.5 JSON沿海到海岸功能将“x3”重命名为“k3”,但是如何?

以下是JSON来源:

{"k1":"K1", "k2":"K2","x3":"K3"}

这是理想的结果

{"k1":"K1", "k2":"K2","k3":"K3"}

这是Scala无法正常运行的代码段:

( (__ \ 'x3  ).json.update( (__ \ 'k3).json.pick ) )

1 个答案:

答案 0 :(得分:3)

您无法使用变压器重命名密钥,因此必须更新 Json 复制值 x3键并删除原始密钥:

__.json.update(
  (__\"k3").json.copyFrom(
    (__\"x3").json.pick
  )
) andThen 
(__\"x3").json.prune