SpringBoot整合jackson
2022/2/22 0:02:43
本文主要是介绍SpringBoot整合jackson,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对象配置
注解:
- @JsonProperty
定制属性序列化/反序列化的名称,默认名称是属性名(value为属性名,index为属性的优先级) - @JsonFormat
时间格式化,pattern需要的时间格式,timezone时区 - @JsonIgnore
属性序列化和反序列化中忽略某个属性 - @JsonIgnoreProperties
忽略多个属性,{}中填写多个要忽略的属性名称
测试代码:
@JsonIgnoreProperties({"address","age"}) public class User { //制定属性序列化/反序列化的名称,默认名称是属性名 @JsonProperty(value = "hello",index = 10) private String username; @JsonProperty(index = 9) private Integer age; @JsonProperty(index = 8) private String address; //@JsonProperty(index = 7) //序列化/反序列化时忽略属性 //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") //类似于@JsonProperty中的index //@JsonPropertyOrder() //@JsonIgnore private Date birthday;
@RestController public class UserController { @GetMapping("/user") public User getUser(){ User user = new User(); user.setAddress("jingxiuyaun"); user.setAge(12); user.setUsername("haha"); user.setBirthday(new Date()); return user; } }
反序列化:
@RestController public class UserController { @PostMapping("/user") public void getreturnUser(@RequestBody User user){ System.out.println(user); } }
全局配置
通过ObjectMapping来配置所有的属性,重写JacksonAutoConfiguration类中的方法
@Bean @Primary @ConditionalOnMissingBean ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { return builder.createXmlMapper(false).build(); }
@Configuration public class WebMvcConfig { @Bean ObjectMapper mapper(){ ObjectMapper om = new ObjectMapper(); om.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); return om; } }
这篇关于SpringBoot整合jackson的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署
- 2024-04-14RAG应用开发实战02-相似性检索的关键 - Embedding