一尘不染

Grails-grails.converters.JSON-删除类名

json

有没有办法删除JSON转换器中的class字段?

例:

import testproject.*
import grails.converters.*  
emp = new Employee()  
emp.lastName = "Bar"  
emp as JSON

作为一个字符串

{"class":"testproject.Employee","id":null,"lastName":"Bar"}

我更喜欢

{"id":null,"lastName":"Bar"}

有没有一种方法可以在末尾添加一行代码来删除类字段?


阅读 248

收藏
2020-07-27

共1个答案

一尘不染

这是实现它的一种方法。我在域类中添加了下一个代码:

static {
    grails.converters.JSON.registerObjectMarshaller(Employee) {
    return it.properties.findAll {k,v -> k != 'class'}
    }
}

但是正如我发现的,如果您还使用过Groovy @ToString类注释,那么还必须添加“类”以排除参数,例如:

@ToString(includeNames = true, includeFields = true, excludes = "metaClass,class")
2020-07-27