我正在使用Grails 1.3.7并拥有以下DTO
class Result {
String key
List errors
}
现在要么存在密钥,要么存在错误,但不是两者都存在。如果Result有一个键,我不希望编组的JSON有一个空值的errors字段,如下所示
{"errors":null,"key":"abcde"}
我查看configuration options转换器,它没有抑制空值的选项。我还查看了该页面上标题为“自定义转换器结果”的最后一部分,并注册了一个对象marshaller,如下所示
class Result {
static {
grails.converters.JSON.registerObjectMarshaller(Result) {
return it.properties.findAll {k,v -> v != null}
}
}
}
但结果仍然包含null值的错误。我正在寻找最简洁的方法来实现XML和JSON。
答案 0 :(得分:1)
尝试使用此Grails 2.0.3会导致错误,指示errors
字段与GORM自动添加的grails.validation.ValidationErrors
字段(也称为errors
)之间存在冲突。您的编组看起来没问题,因此您可能只需将字段名称更改为errors
以外的其他名称?