Sping Boot返回Json格式自定义

转载请注明http://www.cnblogs.com/majianming/p/8491020.html

在写项目过程中,遇到了需要定义返回的json字段格式的问题

例如在实体属性中,我有一个字段是userName,那么需要在json中出现的样子是user_name,即采用下划线命名法

那么可以采用@JsonProperty这个注解自定义@JsonProperty("user_name")

但是如果我全部的属性都要这样采用下划线命名法,那我一个个加?

其实只要定义jackson的属性命名策略就可以了 在配置文件中添加

(yml格式)

spring:

  jackson:

    property-naming-strategy: SNAKE_CASE

(propreties格式)

spring.jackson.property-naming-strategy=SNAKE_CASE

就可以了

全部策略有

策略 例子 备注
LOWER_CAMEL_CASE userName 默认策略
KEBAB_CASE user-name  
LOWER_CASE username  
SNAKE_CASE user_name  
UPPER_CAMEL_CASE UserName  

到这里好像没什么问题了,但是我要是只有一个实体的属性名需要映射成上面的情况之一,

但是属性名称有很多,懒得一个个加呢?

其实也有方法,只要在需要的实体上添加@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)这样的注解就可以了

这里可以使用的策略也和上面的表格中的一致

以上

 


 

参考

  1. http://www.baeldung.com/jackson-advanced-annotations

  2. https://stackoverflow.com/a/40730352

 

转载请注明http://www.cnblogs.com/majianming/p/8491020.html

posted @   铭mc  阅读(7830)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
点击右上角即可分享
微信分享提示