Google 端点 - java.sql.Timestamp - JSON

Google Endpoint - java.sql.Timestamp - JSON

如何从前端将 java.sql.Timestamp 作为 JSON 传递? 默认情况下,我尝试在 API 探索中给出 2015-09-29T12:30:00。 它不起作用。

此外,如果有人知道,如何将@ApiTransformer 用于内置 java classes。或者是否可以选择在 属性 级别而不是 POJO class 级别使用此注释。

答案:

    Timestamp timestamp = new Timestamp(new Date().getTime());
    ObjectMapper mapper = new ObjectMapper();
    try {
        String jacksonDate = mapper.writeValueAsString(timestamp);
        System.out.println("JSON Timestamp: "+jacksonDate);
        System.out.println("JAVA Timestamp: "+mapper.readValue(jacksonDate, Timestamp.class));
    } catch (IOException e) {
        e.printStackTrace();
    }

输出:
JSON 时间戳:1443772585286
JAVA 时间戳:2015-10-02 11:56:25.286

甚至它接受:yyyy-MM-DD'T'HH:mm:ss

我建议你反其道而行之。

假设您从数据库获取值到 java 个 bean (POJO),并将它们序列化为 JSON 个对象。将它们打印出来,尤其是时间戳值。

然后使用与快捷答案相同的格式值。

另一方面,在 Jackson 中,我知道 java.sql.Date 接受 "long" 时间度量值。时间戳可以使用相同的方法。 "time in milliseconds" 是一个很长的值。

另一方面,如果您希望在 Rest 系统中处理类型的编组和解组,您可以检查一下。

http://www.developerscrappad.com/2308/java/java-ee/rest-jax-rs/java-rest-jax-rs-2-0-how-to-handle-date-time-and-timestamp-data-types/