gpt4 book ai didi

F#、Json、WebApi 选项类型的序列化

转载 作者:行者123 更新时间:2023-12-04 03:00:44 25 4
gpt4 key购买 nike

我在暴露给 C# WebApi 项目的 F# 项目中使用记录类型。例如:

type Account = {Amount:float; Number:int; Holder:string}

基于 this邮政和 this发布后,json 正在正确序列化。
{"Amount":100.0,"Number":1,"Holder":"Homer"}

但是,当我在记录中添加选项类型时,
type Account = {Amount:float; Number:int; Holder:string option }

json 变得脱胶。
{"Amount":100.0,"Number":1,"Holder":{"Case":"Some","Fields":["Homer"]}}

我希望 json 看起来与非选项类型记录相同,序列化程序足够智能以获取值并将它们自动放入/取出选项类型。

有没有人为此构建了自定义格式化程序?有什么我错过的OOB吗?

谢谢

最佳答案

处理选项类型和单一类型可区分联合的自定义 Json.NET 转换器确实存在(或者至少声称,我只测试了选项类型的情况)。可以找到 here .

用法:

let act = {Amount= 100.0; Number= 1; Holder= Some "Homer"}
let json = JsonConvert.SerializeObject(act, new IdiomaticDuConverter())

关于F#、Json、WebApi 选项类型的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28150908/

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