我正在使用 Grails 1.3.7 并具有以下 DTO
class Result {
String key
List errors
}
现在将出现 key 或错误,但不会同时出现。如果 Result 有一个键,我不希望编码的 JSON 的错误字段为空值,如下所示
{"errors":null,"key":"abcde"}
我看了configuration options对于转换器,它没有抑制空值的选项。我还查看了该页面上标题为“自定义转换器结果”的最后一部分,并注册了一个对象编码器,如下所示
class Result {
static {
grails.converters.JSON.registerObjectMarshaller(Result) {
return it.properties.findAll {k,v -> v != null}
}
}
}
但结果仍然包含空值错误。我正在为 XML 和 JSON 寻找最简洁的方法来实现这一点。
最佳答案
尝试这个 Grails 2.0.3 会导致一个错误,指出 errors
之间的冲突。字段和 GORM 的自动添加 grails.validation.ValidationErrors
字段(也称为 errors
)。您的 marshaller 看起来不错,因此您可能只需将字段名称更改为 errors
以外的其他名称?
关于json - 如何阻止空值字段在 Grails 中编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12901318/