【问题标题】:Grails - bind JsonArray to Collection attributeGrails - 将 JsonArray 绑定到 Collection 属性
【发布时间】:2012-08-04 22:01:26
【问题描述】:

我有一个 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并将数组中的项目转换为域对象?

【问题讨论】:

    标签: json rest grails-2.0 grails-controller


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-27
      相关资源
      最近更新 更多