[英]jackson converting timestamp to long
我正在尝试从表中获取所有列并将其转换为 json。 所以尝试如下
List<Map<String,Object>> map=jdbcTemplate.queryForList("select * from test");
所以它给出了一个映射列表,键是 columnName,值是 columnValue。 然后我使用ObjectMapper
将地图转换为 json
String tableJson=new ObjectMapper().writeValueAsString(map);
该表有一列createdDate
,其类型为timestamp
。 但是当 objectmapper 将映射转换为 json 时,时间戳被转换为 long。
请帮助我如何在不将时间戳转换为长的情况下创建 json。 它可以是字符串日期。
将jackson-databind添加到您的项目中
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
现在您可以控制如何转换字段值,使用
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd@HH:mm:ss.SSSZ")
private Date createdDate;`
可以直接在ObjectMapper中设置日期格式
ObjectMapper objectMapper = new ObjectMapper();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSZ");
objectMapper.setDateFormat(df);
String tableJson=objectMapper.writeValueAsString(map);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.