3

この小さな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はまだ未解決です。

4

1 に答える 1