gpt4 book ai didi

json - 使用 Json.NET 将 F# 可变变量序列化为 JSON 会生成重复项

转载 作者:行者123 更新时间:2023-12-04 19:07:28 27 4
gpt4 key购买 nike

这是我的代码:

 open Newtonsoft.Json
open Newtonsoft.Json.Converters

type T = {
mutable name : string;
mutable height : int;
}

let a = { name = "abc"; height = 180;}
a.height <- 200
let b = JsonConvert.SerializeObject(a, Formatting.Indented)
printfn "%s" b

代码的输出是:
{
"name@": "abc",
"height@": 200,
"name": "abc",
"height": 200
}

如何避免属性中带有“@”的输出?

最佳答案

试试这个:

[<CLIMutable>]
[<JsonObject(MemberSerialization=MemberSerialization.OptOut)>]
type T = {
name : string;
height : int;
}
MemberSerialization.OptOut仅导致公共(public)成员被序列化(跳过作为记录实现细节的私有(private)字段)。 CLIMutable属性为 intended specifically for serialization并且不必在每个成员前面加上 mutable .

关于json - 使用 Json.NET 将 F# 可变变量序列化为 JSON 会生成重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982294/

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