gpt4 book ai didi

c# - 如何告诉 NewtonSoft.Json.JsonConvert 将枚举序列化为字符串而不是 int

转载 作者:行者123 更新时间:2023-11-30 17:25:39 24 4
gpt4 key购买 nike

我目前有一个类说(看起来像这样)

public class foo
{
public MyEnumType Result { get; set; };
}

目前我这样做的时候

foo a = new foo();
string str = JsonConvert.SerializeObject(a);

结果为 int 类型。有没有办法让我把它作为字符串类型?通过告诉它做 MyEnumTypeInstance.toString();

最佳答案

JSON.Net 有一个内置转换器,StringEnumConverter ,您只需向要[反]序列化的属性添加一个属性,例如:

[JsonConverter(typeof(StringEnumConverter))]
public MyEnumType Result { get; set; }

或者在序列化时指定转换器:

string str = JsonConvert.SerializeObject(a, new StringEnumConverter());

关于c# - 如何告诉 NewtonSoft.Json.JsonConvert 将枚举序列化为字符串而不是 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58045417/

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