2016-05-14 78 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