gpt4 book ai didi

json - 有没有更简洁的方法来使用 Argonaut 删除顶级 JSON 属性?

转载 作者:行者123 更新时间:2023-12-02 04:57:34 25 4
gpt4 key购买 nike

假设我有这个小 Argonaut Json实例:

import argonaut._, Argonaut._

Json.obj(
"id" := 42,
"viewed" := false
)

现在,我想删除键为已查看 的对。我发现以下内容有效,但它有点过于冗长。还有比这更短的吗:

for {
field <- json.cursor.downField("viewed")
updated <- field.delete
} yield updated.undo

此外,在我看来,“提交”更改的方法名称 (undo) 似乎有点误导?我应该如何解释这个名字?最初我认为有一种方法可以撤消修改历史中的最后一次更改。

更新

我找到了一种解决方案。使用 HCursor:

json.hcursor.downField("viewed").delete.undo

为什么 undo 被命名为 undo 的问题仍然悬而未决。

最佳答案

游标是 float /移动的引用,就像 C/C++ 中的指针一样。downField 是移动到光标的指令,因此如果您不撤消,光标将保留在“已查看”属性中,而不是父 json 对象。要返回到父 json 对象,您必须撤消以移动光标。

关于json - 有没有更简洁的方法来使用 Argonaut 删除顶级 JSON 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20034646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com