0

使用以下代码:

def date = new Date()
println new groovy.json.JsonBuilder([(date): date]).toString()

结果是这样的

{"Fri Oct 28 15:00:45 ART 2016":"2016-10-28T18:00:45+0000"}

我期待与同一日期的 key 和 value 相同的表示形式。

我可以强制 JsonBuilder 输出与值格式相同的键吗?

4

1 回答 1

1

问题是,JsonBuilder 将默认使用 a 来格式化日期new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"),我知道这不是您希望更改的。由于“关键”部分是使用该toString()方法序列化的,因此您有两种解决方案:使用[date.format("yyyy-MM-dd'T'HH:mm:ssZ"): date]或使用 metaProgramming 来重载Date.toString()(不过,它将用于每个 Date 对象,因此您可能不希望这样做)。

于 2016-10-28T18:42:47.703 回答