Подтвердить что ты не робот

Groovy - Преобразование объекта в строку JSON

Я довольно привык к конвертерам 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?

4b9b3361

Ответ 1

Вы имеете в виду:

import groovy.json.*

class Me {
    String name
}

def o = new Me( name: 'tim' )

println new JsonBuilder( o ).toPrettyString()

Ответ 2

Я не мог заставить другие ответы работать в консоли оценки в Intellij, поэтому...

groovy.json.JsonOutput.toJson(myObject)

Это работает неплохо, но, к сожалению,

groovy.json.JsonOutput.prettyString(myObject)

не работал у меня.

Чтобы сделать это довольно печатным, мне пришлось это сделать...

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

Ответ 3

Вы можете использовать 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()