从Json创建域对象的空指针异常

时间:2013-10-22 09:17:36

标签: json grails

在下面的代码中,我仅在某些情况下获得nullpointer异常,并且JSON每次都相同。如何解决这个问题

错误

errors.GrailsExceptionResolver  - NullPointerException occurred when processing request: [POST] /school/sd/
Cannot set property 'school' on null object. Stacktrace follows:
Message: Cannot set property 'school' on null object

控制器

def save() {

    if (!requestIsJson()) {
        respondNotAcceptable()
        return
    }


    println request.GSON
    def sInstance = new School(request.GSON)
    println "got here"

    if (sInstance.save(flush: true)) {
        respondCreated sInstance

    } else {

        respondUnprocessableEntity sInstance
    }


    def resp = RestClientHelper.createExpGroup(sInstance)

}

1 个答案:

答案 0 :(得分:0)

为了从JSON创建Grails对象,很容易使用特殊的转换器。

import grails.converters.JSON
.......
class Controller {
  def doSomthing = {
      def myDomain = new MyDomain(JSON.parse(params.myDomain))
      //Save domain object
      myDomain.save(flush:true)
  }
}

Grails converter reference.