在我的grails应用程序中,我想将对象的层次结构呈现为JSON响应。 java.util.Date类型有几个属性,在不同级别上指定,具有不同的名称。根据位置和名称,我想以不同的方式呈现日期,如下所示:
{
...
"touristBirthday": "1980-10-11",
"flight": {
...
"flightTime": "2013-10-11 10:00",
...
}
...
}
请注意touristBirthday
和flightTime
都有java.util.Date类型,但应该以不同方式呈现。所以Grails对象marshaller对我来说并不是真的有用。
在应用程序的某些部分,我已经通过将我的模型bean转换为映射然后覆盖这些映射中的条目来手动完成转换,但在每种情况下执行此操作都会产生许多无法维护的混乱,尤其是当层次结构具有多个级别时。 p>
这个问题是否有插件或简单的解决方案?所以我可以简单地指定我的属性的名称/位置以及渲染它的方式,覆盖默认对象marshaller。
P.S。改变模型(属性类型)对我来说不是一个真正的选择,因为模型来自另一个应用程序。