web-dev-qa-db-ja.com

Groovy-オブジェクトをJSON文字列に変換する

私はGrailsコンバーターにかなり慣れています。ここでは、あらゆるオブジェクトをこのようにJSON表現に変換できます( http://grails.org/Converters+Reference

return foo as JSON

しかし、単純なgroovyでは、これを行う簡単な方法が見つかりません( http://groovy-lang.org/json.html

JSONObject.fromObject(this)

空のJSON文字列を返します...

明らかなGroovyコンバーターがありませんか?または、私はジャクソンまたはgsonライブラリに行くべきですか?

65
Wavyx

次のような意味ですか?

import groovy.json.*

class Me {
    String name
}

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

println new JsonBuilder( o ).toPrettyString()
124
tim_yates

私はIntellijの評価コンソール内で動作する他の答えを得ることができなかったので...

groovy.json.JsonOutput.toJson(myObject)

これは非常にうまく機能しますが、残念ながら

groovy.json.JsonOutput.prettyString(myObject)

うまくいかなかった。

それをきれいに印刷するには、これをしなければなりませんでした...

groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(myObject))
15
chim

そのために 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()
6
dhamibirendra