ras*_*cio 8 grails json date converter
我在我的Grails控制器中有一个方法应该返回一个JSON,JSON的一个属性是一个Date对象,但是当我这样做时:
render myObject as JSON
输出如下:
{
    "dateProperty": "2010-12-31T23:00:00Z",
    "otherProperty" : "aValue..."
}
有没有办法更改转换器使用的默认日期格式?
我试图设置属性grails.converters.json.date,并grails.date.formats在Config.groovy中,但这行不通.
我做错了什么或有其他方法吗?  
谢谢
我通常使用自定义Marshaller.假设您有以下域
class Address { 
  String addressOne
  String city
  //bla bla
  Date dateCreated
}
像这样在src/groovy下创建一个类
class AddressMarshaller {
  void register() {
     JSON.registerObjectMarshaller(Address) { Address address ->
      return [ 
         id: address.id,
         addressOne: address.addressOne,
         city: address.city,
         dateCreated: address.dateCreated.format('yyyy-MM-dd')
      ]
  }
}
然后在您的Bootstrap文件中执行以下操作:
[ new AddressMarshaller() ].each { it.register() }
我这样做的原因是因为我有多个marshallers.
现在,只要你这样做address as JSON,你就会得到你所描述的JSON,而且你的日期格式是正确的.我知道在JSON中格式化日期似乎有些过分,但这有很多其他好处.