services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.Converters.Add(new StringEnumConverter());
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});
这将为您提供更多的控制选项,如使用 StringEnumConverter 序列化枚举类型或更改 ContractResolver 以自定义序列化行为。
var jsonSettings = new JsonSerializerSettings
{
ContractResolver = new DefaultContractResolver(),
Converters = new List { new StringEnumConverter() }
};
app.UseMiddleware(jsonSettings);
然后,创建一个自定义的 Middleware 类,并在其中设置自定义的 JsonSerializerSettings。
以上是解决“AspNet Core 应用程序中使用 Newtonsoft.Json 序列化器设置不起作用”的方法。