jackson将时间戳转换为long

gupuwyp2  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(814)

我尝试从表中获取所有列并将其转换为json。所以尝试如下

List<Map<String,Object>> map=jdbcTemplate.queryForList("select * from test");

所以它给出了以key作为columnname,value作为columnvalue的Map列表。那我用的是 ObjectMapper 将Map转换为json

String tableJson=new ObjectMapper().writeValueAsString(map);

表有一列 createdDate 它的类型是 timestamp . 但是当objectmapper将Map转换为json时,时间戳将转换为long。
请帮助我如何在不将时间戳转换为long的情况下创建json。可以是字符串日期。

jvlzgdj9

jvlzgdj91#

将jackson数据绑定添加到项目中

<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);

相关问题