gpt4 book ai didi

c# - 如何告诉 JSON.NET StringEnumConverter 取 DisplayName?

转载 作者:IT王子 更新时间:2023-10-29 04:37:17 27 4
gpt4 key购买 nike

我有以下模型:

public enum Status
{
[Display(Name = "Awaiting Approval")]
AwaitingApproval,
Rejected,
Accepted,
}

我在这样的模型中使用这个枚举:

public class Docs
{
[Key]
public int Id { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public Status Status { get; set; }
}

现在一切正常;序列化程序返回与枚举等效的字符串。我的问题是如何告诉 JSON.NET 使用 Display 属性而不是 string

最佳答案

您应该尝试使用 [EnumMember] 而不是 [Display]。您还可以将 [JsonConverter] 属性放在枚举本身上。

[JsonConverter(typeof(StringEnumConverter))]
public enum Status
{
[EnumMember(Value = "Awaiting Approval")]
AwaitingApproval,
Rejected,
Accepted,
}

JsonConverter 属性的 VB.NET 版本是:

<Newtonsoft.Json.JsonConverter(GetType(Newtonsoft.Json.Converters.StringEnumConverter))>

关于c# - 如何告诉 JSON.NET StringEnumConverter 取 DisplayName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995278/

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