Java:长格式的 util.Date 对象

标签 java jackson

如何返回具有长值的 Date 对象? 像这样的东西:

@JsonProperty("time")
    public Date getTimeInLong() {
       Date date = super.getTime();
       return date.getTime() //I want this value as date object
    }

原因是我试图将 JSON 属性 time 覆盖为长格式。但是,如果我将 getter 签名更改为 public long getTime(){},则会收到来自

Conflicting getterDefinitions for property "time": 异常

最佳答案

您可以将带有 shape = Shape.NUMBER 参数的 @JsonFormat 注释放在现有的 getter 方法上。这是一个例子:

public class JacksonJsonFormat {
    public static class Bean {
        @JsonFormat(shape = JsonFormat.Shape.NUMBER)
        public Date getTime() {
            return new Date();
        }
    }

    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        System.out.println(mapper.writeValueAsString(new Bean()));
    }
}

输出:

{"time":1406068019124}

关于Java:长格式的 util.Date 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24867344/

相关文章:

java设置图像的分辨率和打印尺寸

java - 高效的条件查询仅选择查询的第一个和最后一个结果?

java - Jackson DeSerialize Class with <T> (Generic) 类型

java - 我希望 Spring Boot Java @Entity 模型类中的 String 成员变量之一在发送到客户端时显示为实际的 JSON 对象

java - Jackson:仅从接口(interface)导出 setter/getter

java - 如何在 spring 应用程序中注册自定义 jackson 过滤器?

java - 在 Apache Beam 中将运行时参数与 BigtableIO 结合使用

Java TransferFrom 二进制文件的一部分?

java - Hazelcast 成员之间的高延迟(使用主题发布/onMessage)

java - 在编码之前动态隐藏一些字段(java 到 json)