Jackson中@JsonNaming注解的功能简介说明

戚薇 fastjson 发布时间:2023-06-12 09:15:45 阅读数:18650 1
下文笔者讲述@JsonNaming注解的功能简介说明,如下所示
@JsonNaming注解:
     用于为序列化中的属性选择命名策略
	    覆盖默认设置
	 使用value元素,我们可以指定任何策略
	  包括自定义策略 

除默认值LOWER_CAMEL_CASE(如lowerCamelCase)外
    Jackson库还为我们提供了另外四种内置的属性命名策略
如:
	KEBAB_CASE:
	   名称元素之间用连字符分隔
	      如 kebab-case。
	LOWER_CASE:
	   所有字母均为小写字母,没有分隔符
	      如 lowercase。

	LOWER_DOT_CASE:
	   所有字母均为小写字母,用点连接字符
	     如 lower.case。

	SNAKE_CASE:
	   所有字母均为小写,并在名称元素之间使用下划线作为分隔符
	    如 snake_case。

	UPPER_CAMEL_CASE:
	   所有名称元素,包括第一个,都以大写字母开头
	     后跟小写字母,且没有分隔符
		 如 UpperCamelCase

@JsonNaming示例

@Data
@JsonNaming(PropertyNamingStrategy.LowerDotCaseStrategy.class)
@AllArgsConstructor
public class NamingBean {
    private int id;
    private String beanName;
}
 
@Test
public void test28() throws IOException {
	ObjectMapper mapper = new ObjectMapper();
	NamingBean bean = new NamingBean(3, "Naming Bean");
	String jsonString = mapper.writeValueAsString(bean);
	System.out.println(jsonString);
	//1.
	//@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
	//{"id":3,"bean_name":"Naming Bean"}
	//2.
	//@JsonNaming(PropertyNamingStrategy.LowerCaseStrategy.class)
	//{"id":3,"beanname":"Naming Bean"}
	//3.
	//@JsonNaming(PropertyNamingStrategy.UpperCamelCaseStrategy.class)
	//{"Id":3,"BeanName":"Naming Bean"}
	//4.
	//@JsonNaming(PropertyNamingStrategy.LowerDotCaseStrategy.class)
	//{"id":3,"bean.name":"Naming Bean"}
	
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/fastjson/2023/6770.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者