springboot默认使用jackson,本文不对其他json解析框架做介绍
bean配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| @Bean public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder){ builder.serializerByType(Long.TYPE, ToStringSerializer.instance); builder.serializerByType(Long.class, ToStringSerializer.instance); ObjectMapper objectMapper = builder.build(); objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); objectMapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL); return objectMapper; }
|
配置文件
配置文件无法配置long转string
1 2 3 4 5 6 7 8
| spring: jackson: default-property-inclusion: non_null property-naming-strategy: SNAKE_CASE date-format: yyyy-MM-dd HH:mm:ss
|
参数
命名规则无法对Map进行序列化
命名规则。例:nameSize
LOWER_CAMEL_CASE:小写驼峰(nameSize)
UPPER_CAMEL_CASE:大写驼峰(NameSize)
SNAKE_CASE:驼峰转下划线(name_size)
UPPER_SNAKE_CASE:全大写下划线(NAME_SIZE)
LOWER_CASE:全小写(namesize)
KEBAB_CASE:驼峰转中划线(name-size)
LOWER_DOT_CASE:驼峰转点(name.size)