场景:假设前端传递过来一个JSON对象为
{
"money":"123.123",
"date":"2017/12/12"
}
需要将该对象反序列化为Java对象,这个时候需要修改JSON对象反序列化为Java的规则,否则字符串类型的date转化为Java的Date对象时就会报错
处理如下:
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setDateFormat("yyyy/MM/dd");
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}假设JavaBean如下
public class FormatModel {
private double money;
private Date date;
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}这样在controller中使用如下注解可以转化成功如下
@RequestMapping(value = "h2")
public @ResponseBody
Object testHeaderContext(@RequestBody FormatModel formatModel) {
System.out.println(formatModel.getDate());
return "111";
}
本文介绍如何配置FastJson反序列化JSON对象为Java对象的过程,重点解决日期格式转换问题,确保前端传来的字符串日期能正确转换为Java的Date类型。
376

被折叠的 条评论
为什么被折叠?



