Groovy – 将对象转换为JSONstring

我很习惯Grails转换器,在这里你可以把任何对象转换成JSON表示,就像这样( http://grails.org/Converters+Reference )

return foo as JSON 

但在普通的groovy,我找不到一个简单的方法来做到这一点( http://groovy.codehaus.org/gapi/groovy/json/JsonOutput.html )

 JSONObject.fromObject(this) 

返回空的JSONstring…

我错过了一个明显的Groovy转换器? 或者我应该去jackson或gson库?

你的意思是:

 import groovy.json.* class Me { String name } def o = new Me( name: 'tim' ) println new JsonBuilder( o ).toPrettyString() 

我无法得到在Intellij的评估控制台中工作的其他答案,所以…

 groovy.json.JsonOutput.toJson(myObject) 

这工作得很好,但不幸的是

 groovy.json.JsonOutput.prettyString(myObject) 

没有为我工作。

要得到它漂亮的印刷,我不得不这样做…

 groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(bookingParams)) 

你可以使用JsonBuilder 。

示例代码:

 import groovy.json.JsonBuilder class Person { String name String address } def o = new Person( name: 'John Doe', address: 'Texas' ) println new JsonBuilder( o ).toPrettyString()