在Groovy/Grails的
问题描述:
与JSONBuilder工作作为输入我的每个对象都有属性的所有对象的列表:在Groovy/Grails的
- 名
- 儿童(object.children是所有儿童的名单)
- 父(NULL,如果对象是顶层)
如何正确使用Groovy JSONBuilder来呈现这样的数据(树的深度是无限的):
-Object 1
--Object 1.1
---Object 1.1.1
--Object 1.2
-Object 2
JSON格式应该是这样的:
[
{
"name":"Object1",
"children":[
{
"name":"Object1.1",
"children":[
{
"name":"Object 1.1.1",
"children":[]
}
]
},
{
"name":"Object1.2",
"children":[]
}
]
},
{
"name":"Object2","children":[]
}
]
这是构建JSON的ExtJS的组件,它会显示此树所需。谢谢你的帮助!
答
这个属性添加到您的Config.groovy中文件:
grails.converters.json.default.deep=true
的Grails Doc 是过时的一点,但有关财产根据上市有“配置选项”
答
商店这种结构在对象说jsonContainer和尝试下面的代码段
render jsonContainer as grails.converters.deep.JSON
希望这有助于。
+0
谢谢,但我不清楚如何实际存储这样的结构的对象。顺便说一句,深转换器已过时:( – muffin 2012-02-18 10:28:07
太好了!谢谢!另一个小问题。是否有可能修改属性,例如我不需要class属性或者我想添加额外的属性 – muffin 2012-02-20 14:13:49
@muffin,如果你在说话关于只减少/额外的属性,我认为你需要做更多的手动编码。看看[这个博客](http://manbuildswebsite.com/2010/02/08/rendering-json-in-的grails-部分-2-普通老式-Groovy的对象和域的对象/) – Davetron 2012-02-20 14:44:15