我已将一个 web api 应用从 net core 5 迁移到了 6,并通过 System.Text.Json 替换了 NewtonSoft 序列化器。在我的 Startup.cs 文件中,我使用以下代码配置了 Json 序列化:
services.AddControllers(config =>
{
config.RespectBrowserAcceptHeader = true;
config.ReturnHttpNotAcceptable = true;
})
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles;
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
options.JsonSerializerOptions.WriteIndented = true;
})
.AddXmlDataContractSerializerFormatters();
这段代码只部分地起作用。WriteIndented可以正常工作(请参见下面的截图),但我无法使camelcase起作用。
有什么建议吗? 谢谢
{"Id" : 5, "Nombre": ""}
这种类型是什么样子的?是否有可能直接应用自定义转换器,或者web api方法在手动序列化? - dbc