Browse Source

use JSONWriter API for custom JSON marshaller

Lari Hotari 11 years ago
parent
commit
a05d373b77
1 changed files with 9 additions and 4 deletions
  1. 9 4
      grails/hello/grails-app/conf/JsonBootStrap.groovy

+ 9 - 4
grails/hello/grails-app/conf/JsonBootStrap.groovy

@@ -1,13 +1,18 @@
-import org.codehaus.groovy.grails.web.converters.Converter;
-
+import org.codehaus.groovy.grails.web.converters.Converter
+import org.codehaus.groovy.grails.web.json.JSONWriter
 import grails.converters.JSON
 import hello.World
 
-
+@groovy.transform.CompileStatic
 class JsonBootStrap {
     def init = { servletContext ->
         JSON.registerObjectMarshaller(World, { World world, Converter converter ->
-            [id: world.id, randomNumber: world.randomNumber]
+            JSONWriter writer = (JSONWriter)converter.writer
+            writer.object()
+            writer.key('id').value(world.id)
+            writer.key('randomNumber').value(world.randomNumber)
+            writer.endObject()
+            null
         })
     }
 }