在我的json输出中Date被渲染为Object,因此使用Postman测试会抛出一个错误:期望'u'而不是'e'
{
"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,
一个理想的方法是配置以下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" />