Ответ 1
Вы имеете в виду:
import groovy.json.*
class Me {
String name
}
def o = new Me( name: 'tim' )
println new JsonBuilder( o ).toPrettyString()
Я довольно привык к конвертерам Grails, где вы можете конвертировать любой объект в JSON-представление именно так (http://grails.org/Converters+Reference)
return foo as JSON
Но в обычном groovy я не могу найти простой способ сделать это (http://groovy.codehaus.org/gapi/groovy/json/JsonOutput.html)
JSONObject.fromObject(this)
возвращает пустые строки json...
Я пропустил очевидный конвертер Groovy? Или я должен пойти на джексон или библиотеку 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()