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 系统中处理类型的编组和解组,您可以检查一下。
如何从前端将 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 系统中处理类型的编组和解组,您可以检查一下。