2013-10-22 39 views
0

在下面的代碼中,我只在某些情況下得到了空指針異常,並且JSON每次都是相同的。如何解決這個從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) 

} 

回答

0

爲了創建Grails的對象從JSON很容易使用特殊的轉換器。

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.