Je suis assez habitué aux convertisseurs Grails, où vous pouvez convertir n'importe quel objet en une représentation JSON comme ceci ( http://grails.org/Converters+Reference )
return foo as JSON
Mais en gros groovy, je ne trouve pas de moyen facile de faire cela ( http://groovy-lang.org/json.html )
JSONObject.fromObject(this)
retourne des chaînes json vides ...
Est-ce que je manque un convertisseur évident Groovy? Ou devrais-je aller pour la bibliothèque jackson ou gson?
Voulez-vous dire comme:
import groovy.json.*
class Me {
String name
}
def o = new Me( name: 'tim' )
println new JsonBuilder( o ).toPrettyString()
Les autres réponses ne pouvaient pas fonctionner dans la console d'évaluation d'Intellij, alors ...
groovy.json.JsonOutput.toJson(myObject)
Cela fonctionne assez bien, mais malheureusement
groovy.json.JsonOutput.prettyString(myObject)
n'a pas fonctionné pour moi.
Pour que ce soit joli imprimé, je devais faire ça ...
groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(myObject))
Vous pouvez utiliser JsonBuilder pour cela.
Exemple de code:
import groovy.json.JsonBuilder
class Person {
String name
String address
}
def o = new Person( name: 'John Doe', address: 'Texas' )
println new JsonBuilder( o ).toPrettyString()