我目前有一个班级发言(看起来像这样)
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/