在我的json输出中Date是rendred as Object,所以使用Postman测试会抛出一个错误:期望' u'而不是'
{
"ao_id":6,
"code":"AOO N°199-2017 C/T",
"objet":"Marché Cadre - Travaux de réfection de voiries",
"date_saisie":new Date(1514851200000)
}
我用:
注释了我的实体类 @Column(name = "date_saisie")
@JsonFormat(pattern="yyyy-MM-dd")
private Date date_saisie
如何正确序列化我的日期对象.. THX,
答案 0 :(得分:2)
理想的方法是使用以下Jackson配置进行配置 -
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
这将确保所有日期都以一致的格式序列化。
以下是供您参考的完整配置 -
public class JacksonMapper extends ObjectMapper
{
private static final Logger logger = LogManager.getLogger(JacksonMapper.class);
public JacksonMapper()
{
this.setSerializationInclusion(JsonInclude.Include.NON_NULL);
this.disable(SerializationFeature.INDENT_OUTPUT);
this.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
this.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
this.registerModules(new Jdk8Module()); // Enables support for JDK 8 data types e.g. Optional
this.registerModule(new JavaTimeModule()); // Enables serialization of Java 8 timestamps
}
}
使用以下XML配置创建objectmapper的bean -
<bean id="objectMapper" class="config.JacksonMapper" />