如何使用YoJson从JSON对象中删除成员?



我正在尝试有效地删除Yojson.Safe.t的成员。

例如:

{
id: 123,
name: "bob",
roles: ["admin", "user"]
}

如果我要删除id成员,结果将是:

{
name: "bob",
roles: ["admin", "user"]
}

我原本以为这样的东西可以做到:

Yojson.Safe.Util.to_assoc json 
|> List.filter (fun (t, _) -> t != "id")
|> fun t -> `Assoc t

但由于某种原因,它保留了成员。如何从Yojson.Safe.t中删除成员?

不要使用!=来比较字符串!使用<>:

# "abc" != "abc";;
- : bool = true
# "abc" <> "abc";;
- : bool = false

!=运算符是"物理不相等",即==运算符的逆。这些不是一般用途,尤其是不可变值。

比较的主要操作符是=<>

最新更新