【发布时间】:2021-04-05 17:40:49
【问题描述】:
我正在重写一个 api,从 newtonsoft.json 切换到 system.text.json,我遇到的一个问题是,在某些情况下,我们将枚举作为整数发送,有时作为字符串发送。
考虑这个例子:
{
"result":
{
"RequestTypeEnum":"Request.Get"
},
"resultTypeEnum": 0
}
如何在 system.text.json 中实现这一点? 我知道对于 pascal/camel 情况可以使用 Json 命名属性,但我不知道如何在同一响应中以不同方式处理枚举
【问题讨论】:
-
为什么不使用枚举转换器而不是另一个?
-
@CaiusJard 我需要全局使用 enumconverter 因为我得到的输入几乎总是使用枚举作为字符串,响应有时是字符串有时是整数
-
我的意思是您可以为每个属性使用不同的转换器,因此例如使用一个全局转换器作为一种方式,然后每个属性对所有不遵循全局规则的枚举使用不同的转换器
标签: c# json.net asp.net-core-3.0 system.text.json