0

を使用して、クラスのインスタンスから JSON を作成していますJsonBuilder。しかし、私は得てStackOverflowErrorいます。

Grails プロジェクトで MyClass のインスタンスを作成しました。

class MyBook {
    def isbn
    def title
    def author
    def publisher
}

のインスタンスから JSON を作成するコードは次のとおりMyBookです。

def jsonBuilder = new groovy.json.JsonBuilder()
def myBook = new MyBook(isbn: '0321774094',
                    title: 'Scala for the Impatient',
                    author: 'Cay S. Horstmann',
                    publisher: 'Addison-Wesley Professional')
jsonBuilder(book: myBook)
println("Using an object")
println(jsonBuilder.toPrettyString())

しかし、StackOverflowError エラーが発生しています。

スタックトレース:

Line | Method
->>  198 | doFilter  in PageFragmentCachingFilter.java
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     63 | doFilter  in AbstractFilter.java
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . in java.lang.Thread
Caused by ControllerExecutionException: Runtime error executing action
->>  198 | doFilter  in PageFragmentCachingFilter.java
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     63 | doFilter  in AbstractFilter.java
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . in java.lang.Thread
Caused by InvocationTargetException: null
->>  198 | doFilter  in PageFragmentCachingFilter.java
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     63 | doFilter  in AbstractFilter.java
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . in java.lang.Thread
Caused by StackOverflowError: null
->>  354 | findClass in java.net.URLClassLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    425 | loadClass in java.lang.ClassLoader
|    412 | loadClass in     ''
^    358 | loadClass in     ''

Grails コンソールからのスタックトレース:

Error |
2015-05-07 11:27:45,974 [http-bio-8080-exec-4] ERROR errors.GrailsExceptionResol
ver  - StackOverflowError occurred when processing request: [GET] /grailsDemo/JS
ONBuilderSlurper/index
Stacktrace follows:
Message: Executing action [index] of controller [com.krixi.JSONBuilderSlurperCon
troller]  caused exception: Runtime error executing action
    Line | Method
->>  198 | doFilter  in grails.plugin.cache.web.filter.PageFragmentCachingFilter

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|     63 | doFilter  in grails.plugin.cache.web.filter.AbstractFilter
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . in java.lang.Thread
Caused by ControllerExecutionException: Runtime error executing action
->>  198 | doFilter  in grails.plugin.cache.web.filter.PageFragmentCachingFilter

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|     63 | doFilter  in grails.plugin.cache.web.filter.AbstractFilter
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . in java.lang.Thread
Caused by InvocationTargetException: null
->>  198 | doFilter  in grails.plugin.cache.web.filter.PageFragmentCachingFilter

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|     63 | doFilter  in grails.plugin.cache.web.filter.AbstractFilter
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run . . . in java.lang.Thread
Caused by StackOverflowError: null
->>  354 | findClass in java.net.URLClassLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|    425 | loadClass in java.lang.ClassLoader
|    412 | loadClass in     ''
^    358 | loadClass in     ''
4

0 に答える 0