JSON对象反序列化为Java对象的时候自定义Date类型的字符串格式

来源:互联网 发布:ubuntu双系统安装 编辑:程序博客网 时间:2024/05/21 02:32

场景:假设前端传递过来一个JSON对象为

{
    "money":"123.123",
    "date":"2017/12/12"
}

需要将该对象反序列化为Java对象,这个时候需要修改JSON对象反序列化为Java的规则,否则字符串类型的date转化为Java的Date对象时就会报错

处理如下:

@Configurationpublic 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";    }



阅读全文
0 0
原创粉丝点击