Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json Grails根据属性位置以不同方式呈现同一类_Json_Grails - Fatal编程技术网

Json Grails根据属性位置以不同方式呈现同一类

Json Grails根据属性位置以不同方式呈现同一类,json,grails,Json,Grails,在我的grails应用程序中,我希望将对象的层次结构呈现为JSON响应。有几个java.util.Date类型的属性,在不同级别上指定,具有不同的名称。根据位置和名称,我希望以不同的方式呈现日期,如下所示: { ... "touristBirthday": "1980-10-11", "flight": { ... "flightTime": "2013-10-11 10:00", ... } ... } 请注意,tour

在我的grails应用程序中,我希望将对象的层次结构呈现为JSON响应。有几个java.util.Date类型的属性,在不同级别上指定,具有不同的名称。根据位置和名称,我希望以不同的方式呈现日期,如下所示:

{
...
    "touristBirthday": "1980-10-11",
    "flight": {
        ...
        "flightTime": "2013-10-11 10:00",
        ...
    }
...
}
请注意,
touristbirth
flightTime
都有java.util.Date类型,但呈现方式应该有所不同。所以grails对象封送器对我来说并不是很有用。 在应用程序的某些部分中,我已经通过将模型bean转换为映射,然后覆盖这些映射中的条目,手动完成了转换,但在每种情况下这样做都会产生大量无法维护的混乱,尤其是当层次结构有许多级别时

这个问题有没有插件或简单的解决方案?因此,我可以简单地指定属性的名称/位置以及呈现它的方式,覆盖默认的对象封送器


另外,更改模型(属性类型)对我来说不是一个真正的选项,因为模型来自另一个应用程序。

但是为什么grails object marshaller对您没有用处?因为如果我使用它
JSON.RegisterObject marshaller(Date)
那么我的日期在任何地方都会以相同的方式呈现,我想根据属性名/位置对它们进行不同的渲染为什么不将其注册为基类?航班等?只需为field@IgorArtamonov这是一个解决方案,但是模型是巨大的,所以我不想在对象marshaller定义中重复它啊,好吧,我现在明白了