gpt4 book ai didi

c# - 在 asp.mvc 和 json 中将枚举作为字符串返回

转载 作者:太空狗 更新时间:2023-10-29 23:21:35 27 4
gpt4 key购买 nike

我有一个包含 enum 属性的类。

我的枚举:

 public enum ToasterType
{
[EnumMember(Value = "success")]
success,
[EnumMember(Value = "error")]
error
}

我的类(class):

[Serializable]
public class ToastrMessage
{
[JsonConverter(typeof(StringEnumConverter))]
public ToasterType ToasterType { get; set; }
// bla bla bla
}

用 Json 返回类:

 public async Task<ActionResult> Authentication()
{
return Json(this.ToastrMessage(ToasterType.success));
}

和输出:

enter image description here

为什么 1

但我需要像下面这样的东西:

ToasterType: success

最佳答案

如果您只想将 StringEnumConverter 用于当前操作,那么您可以在调用 json() 之前添加以下内容

//convert Enums to Strings (instead of Integer)
JsonConvert.DefaultSettings = (() =>
{
var settings = new JsonSerializerSettings();
settings.Converters.Add(new StringEnumConverter { CamelCaseText = true });
return settings;
});

要全局应用该行为,只需在 Global.asax 或启动类中添加以下设置即可。

HttpConfiguration config = GlobalConfiguration.Configuration;
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add
(new Newtonsoft.Json.Converters.StringEnumConverter());

关于c# - 在 asp.mvc 和 json 中将枚举作为字符串返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32235947/

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