。NET Core 3.0 StringEnumConverter不作为字符串序列化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了。NET Core 3.0 StringEnumConverter不作为字符串序列化相关的知识,希望对你有一定的参考价值。

用以下修饰枚举时:

[JsonConverter(typeof(StringEnumConverter))]
public EventEntity Entity  get; set; 

并使用JsonConvert.SerializeObject(myEvent)

您可能会注意到,该枚举没有序列化为字符串,而是默认的整数。

答案

真的很简单,但是让我挠头大约20分钟...

使用JsonConverter属性时,第一个intellisense导入为:using System.Text.Json.Serialization

但是您应该改用:using Newtonsoft.Json;

另一答案

您必须安装Newtonsoft.Json库,在NuGet包管理器中找到最新版本,并将其添加到项目中

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

以上是关于。NET Core 3.0 StringEnumConverter不作为字符串序列化的主要内容,如果未能解决你的问题,请参考以下文章

从.Net core 2.2迁移到.Net Core 3.0

Net Core 3.0 及 AspNet 3.0

如何将 .NET Core 2.2 Web API 迁移到 .NET Core 3.0?

从 .net core 2.1 与 .net core 3.0 调用时的 StreamWriter 类行为

如何在 .NET Core 3.0 SDK 上构建多目标 .NET 5 和 .NET Core 3.1

.Net Core 3.0 JsonSerializer 填充现有对象