首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Grails3.2JSON视图中的Java8 LocalDate

Grails3.2JSON视图中的Java8 LocalDate
EN

Stack Overflow用户
提问于 2016-12-09 00:50:57
回答 1查看 1.4K关注 0票数 3

当我试图使用LocalDateTime解析包含json视图 8 LocalDateTime的简单域模型对象时,我会收到堆栈溢出异常,这似乎与GSON不知道Java8 LocalDateTime有关。

下面是一个示例(grails视图和JSON文档):

域类“人”

代码语言:javascript
运行
AI代码解释
复制
import java.time.LocalDate
class Person
{
    Sting name
    LocalDate birthDate
}

PersonController

代码语言:javascript
运行
AI代码解释
复制
class PersonController
{
    def index() {
        respond Person.findAll() as List<Person>
    }
}

index.gson视图

代码语言:javascript
运行
AI代码解释
复制
@Field List<Person> personList

json tmpl.person(personList)

_person.gson模板文件

代码语言:javascript
运行
AI代码解释
复制
model 
{
   Person person
}

json g.parse(person)

当我试图打开此视图时,会引发堆栈溢出异常:

由: grails.views.AbstractWritableScript.writeTo(AbstractWritableScript.groovy:43):错误呈现视图: null在grails.plugin.json.view.api.internal.DefaultGrailsJsonViewHelper$6.writeTo(DefaultGrailsJsonViewHelper.groovy:677)处的grails.views.ViewRenderException引起

当我将_person.gson简化为:

代码语言:javascript
运行
AI代码解释
复制
...
json 
{
   name person.name
}

Thew视图按预期工作。

我的问题是

在Grails视图中是否存在处理Java 8 LocalDate/Time属性的默认方法?如果没有,我怎么能永久注册一个新的GSON构建器

EN

回答 1

Stack Overflow用户

发布于 2017-03-02 16:45:29

这些java 8日期支持还没有在json视图中实现。这将与视图1.2.0 (发布时)和最新版本的grails-java8插件一起使用。

编辑:澄清一下,只有在使用内置渲染策略(g.render、hal.render、jsonapi.render等)时才支持它。您仍然可以自己以任何想要的方式构造视图:

代码语言:javascript
运行
AI代码解释
复制
json {
    someLocalDate LocalDate.now.format(...)
}

Edit2: jsonViews1.2与grails-java8plugin(也是1.2版本)一起发布。Java 8日期类型呈现现在支持与两个插件一起开箱即用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41056479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档