Jackson返回日期格式
近日,使用Jackson转化JSON对象的时候,显示的时候,日期始终显示不正确,输出的日期是一串数字代表的时间戳,不符合要求,所以想到Jackson应当有方法设置输出的日期格式。后来一查果然有两种方式来实现:
1.普通的方式:
默认是转成timestamps形式的,通过下面方式可以取消timestamps。
Java代码
objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false); 这样将使时间生成使用所谓的use a [ISO-8601 ]-compliant notation, 输出类似如下格式的时间: "1970-01-01T00:00:00.000+0000".
当然也可以自定义输出格式:
Java代码
objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
Java代码
myDateFormat对象为java.text.DateFormat,具体使用清查java API
myDateFormat对象为java.text.DateFormat,具体使用清查java API2.annotaion的注释方式:
先定义自己需要的格式,例如:
StringWriter sw = new StringWriter(); JsonGenerator gen = new JsonFactory().createJsonGenerator(sw); JacksonUtil.getInstance().writeValue(gen, jsonlist); gen.close(); String finalInfo = sw.toString(); System.out.println("finalinfo is:"+finalInfo );