この小さなArgonaut Json
インスタンスがあるとしましょう:
import argonaut._, Argonaut._
Json.obj(
"id" := 42,
"viewed" := false
)
ここで、キーが であるペアを削除したいと思いますviewed
。以下が機能することがわかりましたが、少し冗長すぎます。これより短いものはありますか:
for {
field <- json.cursor.downField("viewed")
updated <- field.delete
} yield updated.undo
また、変更を「コミット」するメソッドの名前 ( undo
) は、私の意見では少し誤解を招くように思えますか? 名前をどのように解釈すればよいですか?最初は、変更履歴の最後の変更を元に戻す方法があると思いました。
アップデート
私は1つの解決策を見つけました。の使用HCursor
:
json.hcursor.downField("viewed").delete.undo
なぜundo
名前が付けられたのかという問題undo
はまだ未解決です。