我有一个REST控制器,可以用JSON格式来预测复杂的对象。
让我们说,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);
....
}
假设我将以下JSON发送给控制器:
{"values":[{"name":"test1"},{"name":"test2"}]}
在控制器中,jsonObject的“values”属性为JsonArray。我希望Grails绑定构造函数能够将JsonArray“values”绑定到List“values”,但事实并非如此。在Spring MVC中,JacksonMapper为我做了这个工作。我喜欢这样的东西。
我是否必须手动迭代JsonArray并将我自己将数组中的项目转换为域对象?
答案 0 :(得分:0)
使用JsonSlurper,读取json并迭代并将其设置为域对象。