我有一个java.util.ArrayList
包含红色标记的值:
如果我在 JavaScript 中使用 then 渲染它,render relations as JSON
则值如下:
毫秒已经过去了,如果我理解正确的话,它的值receiveDate
是一个字符串,所以没有办法将它解析为另一种格式。
有没有办法呈现毫秒没有消失的值?
我有一个java.util.ArrayList
包含红色标记的值:
如果我在 JavaScript 中使用 then 渲染它,render relations as JSON
则值如下:
毫秒已经过去了,如果我理解正确的话,它的值receiveDate
是一个字符串,所以没有办法将它解析为另一种格式。
有没有办法呈现毫秒没有消失的值?
方法一
import grails.converters.JSON
def r = [now: new Date(), name: 'Roong']
JSON.registerObjectMarshaller(Date) {o -> o.getTime()}
println(r as JSON)
结果 1
{
"now": 1356595418027,
"name": "Roong"
}
或者您可以在 Config.groovy
方法 2中设置
grails.converters.json.date = "javascript"
结果 2
{
"now": new Date(1356595418027),
"name": "Roong"
}
您可以使用方法将丢失的部分保存到另一个键值对
java.sql.Timestamp.getNanos()
并通过合并这两部分来恢复javascript中的完整值。例如:
String receiveDate = grails.converters.JSON.parse(jsonData).data[0].receiveDate
def formatDate = receiveDate.replace('Z','.'+ dt.getNanos().toString()).replace('T', ' ')
def tsDate = java.sql.Timestamp.valueOf(formatDate)
println 'The timestamp is : ' + tsDate