2016-05-14 65 views
1

我只想使用Play的2.5 JSON沿岸对海岸功能重命名“x3”到“k3”,但是如何?如何使用Play 2.5 JSON转换来重命名JSON密钥?

这里的JSON来源:

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

,这里是理想的结果

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

这里不工作的Scala代码片段:

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

回答

2

不能重命名与变压器关键,所以必须使用更新 Json by从 X3键和复制删除原始密钥:

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