使用Json.NET将F#可变变量序列化为JSON会生成重复项
发布时间:2020-12-16 18:40:54 所属栏目:百科 来源:网络整理
导读:这是我的代码: 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)
这是我的代码:
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仅导致公共成员被序列化(跳过作为记录的实现细节的私有字段). CLIMutable属性为intended specifically for serialization,并且不必为每个成员添加可变的前缀. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |