2012-08-04 28 views
1

我有一個REST控制器,它以JSON格式存在一個複雜對象。Grails - 將JsonArray綁定到Collection屬性

比方說,A.class與B.class的集合有關聯。

class A { 
    private List<B> values; 
    ... 
} 

class B { 
    private String name; 
    ... 
} 

簡化控制器看起來是這樣的:

def create(){ 
    def jsonObject = request.JSON; 
    A a = new A(jsonObject); 
    .... 
} 

比方說,我送follwoing JSON控制器:

{"values":[{"name":"test1"},{"name":"test2"}]} 

在控制器中,JSONObject的有 「價值」屬性爲JsonArray。我希望Grails綁定構造函數能夠將JsonArray「值」綁定到List的「值」,但它不會。在Spring MVC中,JacksonMapper爲我完成這項工作。我喜歡那樣的事情。

是否必須手動迭代JsonArray並將數組中的項目轉換爲域對象?

回答

0

使用JsonSlurper,讀取json並迭代並將其設置爲域對象。