2012-02-17 51 views
0

與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的組件,它會顯示此樹所需。謝謝你的幫助!

回答

0

這個屬性添加到您的Config.groovy中文件:

grails.converters.json.default.deep=true 

Grails Doc 是過時的一點,但有關財產根據上市有「配置選項」

+0

太好了!謝謝!另一個小問題。是否有可能修改屬性,例如我不需要class屬性或者我想添加額外的屬性 – muffin 2012-02-20 14:13:49

+0

@muffin,如果你在說話關於只減少/額外的屬性,我認爲你需要做更多的手動編碼。看看[這個博客](http://manbuildswebsite.com/2010/02/08/rendering-json-in-的grails-部分-2-普通老式-Groovy的對象和域的對象/) – Davetron 2012-02-20 14:44:15

1

商店這種結構在對象說jsonContainer和嘗試下面的代碼段

render jsonContainer as grails.converters.deep.JSON 

希望這有助於。

+0

謝謝,但我不清楚如何實際存儲這樣的結構的對象。順便說一句,深轉換器已過時:( – muffin 2012-02-18 10:28:07