2
在我的代碼中,我向服務器發出get請求來獲取一些json,然後在發回它之前我想更新其中一個值。我知道,如果關鍵是在頂層我可以只寫如何在scala中更新JsObject的嵌套密鑰
val newConfig = originalConfig ++ Json.obj("key" -> newValue)
更新密鑰,但是我不能想出一個很好的方法來更新它,如果我想改變的關鍵是在一對夫婦層
即。我的JSON看起來是這樣的,我只想更新KEY5
{
"key1": "value",
"key2": {
"key3": "value",
"key4": {
"key5": "value",
"key6": "value"
}
}
}
有沒有辦法做到這一點,而不通過層更新它層? 即。
val key4 = originalKey4 ++ Json.obj("key5" -> newValue)
val key2 = originalKey2 ++ Json.obj("key4" -> key4)
val newJson = originalJson ++ Json.obj("key2" -> key2)
我想要更新的實際密鑰是7層,所以這相當單調乏味。