AspNet Core 6.0 Json写默认首字母小写(camelCase)问题

最近在把旧项目迁移到.net core6.0时遇到了之前一样的问题:框架返回的json序列化时将原来的首字母大写的字段统统转成了首字母小写的小驼峰命名,导致原来写好的前端数据无法正确渲染。
于是上网找了下取消该默认行为的方法,在Startup.cs中添加如下配置

services.AddMvc().AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); });

以上方式在旧版本的aspnetcore中的确是这么配置的,而且我早期也这样配置过。然而这次粘贴上发现options.SerializerSettings这个属性都没了,不得不说接口调整幅度很大,在网上再也没有找到另一种办法,于是翻阅MSDNjsonserializeroptions文档查找这个options的属性都有哪些。
找到一个似乎与命名相关的策略配置项

PropertyNamingPolicy
获取或设置一个值,该值指定用于将对象的属性名称转换为其他格式(例如 camel 大小写)的策略;若为 null,则保持属性名称不变。

于是按照文档所述,我希望保持原属性名称不变,如下配置。

Services.AddControllers().AddJsonOptions(options =>
{
    options.JsonSerializerOptions.PropertyNamingPolicy = null;
});
posted @   gui.h  阅读(518)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示