Groovy呈现为JSON java.sql.timestamp,以JavaScript毫秒为单位,不显示
我有一个Groovy呈现为JSON java.sql.timestamp,以JavaScript毫秒为单位,不显示,javascript,json,grails,timestamp,Javascript,Json,Grails,Timestamp,我有一个java.util.ArrayList,其中包含红色标记的值: 如果我使用将关系呈现为JSON来呈现它,那么在JavaScript中,该值如下所示: 毫秒消失了,如果我理解正确,receiveDate的值是一个字符串,因此无法将其解析为其他格式 有没有办法呈现毫秒未消失的值?您可以使用方法将缺少的部分保存到另一个键值对 java.sql.Timestamp.getNanos() 并通过整合这两个部分来恢复javascript中的完整值。例如: String receiveDate =
java.util.ArrayList
,其中包含红色标记的值:
如果我使用将关系呈现为JSON
来呈现它,那么在JavaScript中,该值如下所示:
毫秒消失了,如果我理解正确,receiveDate
的值是一个字符串,因此无法将其解析为其他格式
有没有办法呈现毫秒未消失的值?您可以使用方法将缺少的部分保存到另一个键值对
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
方法1
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
结果2
{
"now": new Date(1356595418027),
"name": "Roong"
}
{
"now": new Date(1356595418027),
"name": "Roong"
}