json - 日期字段的 Grails 数据绑定(bind)失败

标签 json grails data-binding request

我想将域类与嵌套域对象绑定(bind)到 request.JSON 数据。它工作正常,除了嵌套域类中的 Date 类型的字段,它总是给出 null。这是 request.json

[..., cardInfo:[expiryDate:2016-07-21, ccv:3455, cardNumber:4111111111111111], ....]

我尝试使用多种方式绑定(bind)这些 json:
 MyClass myClass=new MyClass(request.JSON)


myClass.properties=request.JSON    
bindData(myClass,request.JSON)
bindData(myClass.cardInfo,request.JSON.cardInfo)

绑定(bind)expiryDate 没有任何效果。这是一个错误还是我做错了什么?

更新:

我正在使用 Grails 2.4.2 。我的配置文件中也包含这一行
grails.databinding.dateFormats = ['dd-MM-yyyy','MM-dd-yyyy','yyyy-MM-dd', 'yyyy-MM-dd HH:mm:ss.S']

最佳答案

您没有提供足够的信息来确定,但我希望活页夹未配置为了解您的日期格式。你可以尝试这样的事情:

class MyClass {
    @org.grails.databinding.BindingFormat('yyyy-MM-dd')
    Date expiryDate
}

您还可以在 Config.groovy 中将其配置为默认日期格式:
// grails-app/conf/Config.groovy
grails.databinding.dateFormats = ['yyyy-MM-dd', 'MMddyyyy', 'yyyy-MM-dd HH:mm:ss.S', "yyyy-MM-dd'T'hh:mm:ss'Z'"]

http://grails.org/doc/latest/guide/theWebLayer.html#dataBinding更多细节。

我希望这会有所帮助。

关于json - 日期字段的 Grails 数据绑定(bind)失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845939/

相关文章:

jquery - Dispatcher.xml 中已弃用 DefaultAnnotationHandlerMapping

arrays - GSON 阵列,错误消息 : Expected a string but was BEGIN_ARRAY

grails - Paypal Sandbox IPN 总是失败

grails - config.groovy在grails中带有.property文件

c# - 数据绑定(bind)到嵌套属性 - 无法绑定(bind)属性或列 (Winforms)

json - 为什么我从 mongodb 的 json 中的某些字段的值全为零?

java - 如何知道mysql表中数据被更新(即数据删除、修改或插入),从而更新java中的json对象

grails - grails Bootstrap 错误写入mysql

wpf 数据绑定(bind)网格行可见性

asp.net - 什么时候应该使用 Page.DataBind() 与 Control.DataBind()?