JSON对象反序列化为Java对象的时候自定义Date类型的字符串格式
2017-12-19 18:17
726 查看
场景:假设前端传递过来一个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";
}
{
"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";
}
相关文章推荐
- 将未指定格式的日期字符串转化成java.util.Date类型日期对象
- springMVC自定义json序列化格式,将Date格式化为字符串
- 将未指定格式的日期字符串转化成java.util.Date类型日期对象
- springMVC自定义json序列化格式,将Date格式化为字符串
- 后端将java对象传递给前端的时候json自定义格式
- Java中对象的list与JSON格式字符串的互相转换
- 含有java.util.Date类型的json字符串在前台js代码中解析不了
- JSON(3):Java的Date类型转换为符合json语法的字符串遇到的问题及其解决办法
- android中普通的java对象转换成 json格式的字符串
- Java如何将json格式字符串解析为json对象
- Java中关于Json对象类型和字符串类型之间互相转化的问题 .
- ASP.NET Ajax, JQuery & JSON Date Serialization,.net对象系列化为JSON的时候,DateTime类型的转换问题
- 关于json反序列化字符串为java对象时科学计数法和精度问题
- 工作笔记:ajax json 同一jsp页面中,把java变量赋给js变量,如果java变量字符串符合json格式,则赋给js变量时,js变量会自动的变为json对象
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- MongoDB 自带JSON类 序列化自定义对象为Json字符串解决方案
- android/java中把对象、对象bean、Collection以及字符串转换成Json格式数据
- 使用DataContractJsonSerializer类将类型实例序列化为JSON字符串和反序列化为实例对象
- json字符串转对象的时候,时间格式报错“不是有效的 AllXsd 值。”
- json-lib和jackson进行Java对象到json字符串序列化性能比较