Grails 3深JSON编组

时间:2015-11-27 10:49:27

标签: json grails grails-3.0 grails-3.0.9

我为我的域对象定义并注册了一些自定义封送器。如果单独使用,只渲染一个实例,工作正常,但问题出现在我返回带有这些实例数组的地图时。在这一刻,我的自定义编组器没有被调用。

这是我的一个marshallers:

class BackendCompanyMarshaller implements ObjectMarshaller<JSON> {

    @Override
    public boolean supports(Object object) {
        object instanceof Company
    }

    @Override
    public void marshalObject(Object object, JSON converter)
            throws ConverterException {
        JSONWriter writer = converter.getWriter()
        writer.object()
        writer.key('id').value(object.id)
        .key('name').value(object.name?.encodeAsHTML()?:'')
        .key('description').value(object.description?.encodeAsHTML()?:'')
        .key('enterprise').value(object.enterprise?.encodeAsHTML()?:'')

        writer.endObject()
    }

}

Ans例如,这是我从控制器返回的内容:

render text:[achievements:arrayOfAchievements, total:2] as JSON

在以前版本的grails中,我知道有很深的marshallers但我找不到类似grails 3的东西。

我还尝试为List实现自定义编组,但我不确定应该返回或写入什么。

0 个答案:

没有答案