我有以下表示类别树的映射:
class Category {
String name
static belongsTo = [parent: Category]
static hasMany = [categories: Category]
}
我想做的是渲染所有类别树并从渲染中排除字段 parent
。
render category as JSON
仅呈现层次结构的第一层,不呈现子类别的名称。 IE。有以下树:
根目录->cat2->cat4 类别 3
我有
{"class":"project.Category",
"id":1,
"categories":[{"class":"Category","id":2},
{"class":"Category","id":3}],
"name":"Root",
"parent":null}
我不想要“class”和“parent”属性,想在这棵树中看到 cat4 数据。
是否有一些特殊的库或插件,或者是否可以配置标准的 JSON 转换器或域类?
最佳答案
您可以尝试通过 JSONBuilder 构建自定义 JSON:
render(builder:'json') {
id(category.id)
name(category.name)
categories {
category.categories?.each {
categories (
id: it.id,
name: it.name
)
}
}
}
关于json - 复杂对象和集合的 Groovy/Grails JSON 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3203130/