如何将java.sql.Date对象添加到JSON数组?

时间:2018-04-02 20:23:07

标签: java vert.x

尝试将Date对象添加到JSON数组中,如下所示:

io.vertx.core.json.JsonArray data = new io.vertx.core.json.JsonArray();
try {
  long millis = System.currentTimeMillis();  
  java.sql.Date date = new java.sql.Date(millis);  
  data.add(date);
} catch (IllegalStateException e) {
  LOGGER.error(e.getMessage());
}

我在JsonObject:class java.sql.Date'中有一个'非法类型的例外。有什么好主意可以解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以直接使用millis值中的Instant

data.add(Instant.ofEpochMilli(millis));

如果你真的需要操纵java.sql.Date(我想知道为什么),你必须在JsonArray中添加值之前进行转换。例如:

data.add(new java.util.Date(date.getTime()).toInstant());

在这两种情况下,这是toString的{​​{1}}:

JsonArray

如果您需要从["2018-04-02T21:57:16.307Z"]

重新创建java.sql.date的实例
JsonArray

P.S:这是一个Java> = 8回答