Grails 2.4 - 将json对象中包含的json数组解析为groovy类

时间:2014-08-05 13:03:36

标签: json grails-2.4

我是grails的新手,我试图解决的问题非常简单:我的服务器应该在请求中收到一些json数据验证数据并将其保存到数据库中。 据我所知,我使用Command Object来验证数据。问题是如果我的Command对象包含另一个类的列表(一个辅助命令对象),解析器会在该字段中放入一个jsonArray,这将忽略我的二次验证。

解析json - >

void handleRequest(){
    def jsonObject = request.JSON
    doSomething(new PrimaryCommandObject(jsonObject))
}

def doSomething(PrimaryCommandObject cmd){
    if (cmd.validate()) {
        respond cmd
    }else{
        cmd.errors.allErrors.each {
            println it
        }
    }
}

主要命令对象 - >

class PrimaryCommandObject{
    int val1
    List<SecondaryCommandObject> collection
}

现在为了绕过这个问题我添加了一个setter

Setter - &gt;

void setCollection(JSONArray jsonArray){
    this.collection = []
    jsonArray.each { item ->
        SecondaryCommandObject obj = item as SecondaryCommandObject
        if (obj.validate()) {
            this.collection << obj
        }else {
            obj.errors.allErrors.each {
                println it
            }
        }
}

这对我来说并不合适,除了更简洁的方法,我会这样做。这个 有人可以帮忙吗?谢谢

0 个答案:

没有答案