gpt4 book ai didi

json - Grails 3 JSON日期序列化

转载 作者:行者123 更新时间:2023-12-02 14:40:00 25 4
gpt4 key购买 nike

好的,我知道这应该很容易。使用JsonViews的My Grails 3.2.5 REST服务器需要将日期返回给客户端,而不受客户端时区的影响。为了进行测试,我的客户端和服务器都在东部时间,因此无论如何都应该没有差异。但是我看到的是传出的JSON日期字符串已调整为GMT,因此它们增加了5个小时的时间。

我可以通过在Bootstrap中注册Date marshaller来克服对普通JSON的这种调整:

JSON.registerObjectMarshaller(Date) {
String fmt = "yyyy-MM-dd'T'HH:mm:ss'Z'"
return it.format(fmt)
}

但是,这对通过JsonView发送的域类日期没有影响。我尝试实现一些更改Jackson Date序列化程序的全局方法,但到目前为止无济于事。我该怎么做呢?文档和示例相互矛盾和混乱。

我的构建配置:
apply plugin:"org.grails.plugins.views-json" 
compile "org.grails.plugins:views-json:1.1.2"

谢谢

最佳答案

您的代码示例使用的是JSON转换器API,该API与JSON View 无关。

为了实现您想要的,您要么需要自己管理 View :

model {
Book book
}

json {
published book.published.format(...)
}

或当前使用grails-views(RC1)的当前候选版本并实现一个转换器,在此进行描述: http://views.grails.org/1.2.x/#_custom_converters

编辑:要在 View 1.2.x中设置默认时区,可以使用几个配置选项:
grails.views.json.generator.timeZone: "EST"

grails.views.json.generator.dateFormat: "yyyy-MM-dd'T'HH:mm:ss'Z'"

关于json - Grails 3 JSON日期序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42702254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com