1

我有一个 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“值”绑定到列表“值”,但事实并非如此。在 Spring MVC 中,JacksonMapper 为我完成了这项工作。我喜欢这样的东西。

我是否必须自己手动迭代 JsonArray 并将数组中的项目转换为域对象?

4

1 回答 1

0

使用 JsonSlurper,读取 json 并迭代并将其设置为域对象。

于 2013-07-03T12:37:56.517 回答