可以在Grails 1.3.7中打印JSON吗?

Pet*_*ter 8 grails groovy json pretty-print

正在从RESTful服务中读取有问题的JSON,我想将其打印出来(到控制台,尽管在.gsp中也可以),以便进行调试.Groovy 1.3.7(截至2011年8月的当前版本)使用Groovy 1.7.8(其中没有1.8中引入的JsonOutput)

注意我目前正在阅读这个,我不相信是"最狂野或最粗野"的方式 - 也许我可以利用转换器和漂亮的打印,如果做不同的?代码示例将不胜感激.

   def serviceURL = new URL(theURL)
   def json = new JSONObject(serviceURL.text)
   println json
Run Code Online (Sandbox Code Playgroud)

ata*_*lor 14

您可以使用该toString(int indentFactor)方法打印JSON .例:

def json = new JSONObject()
json.put('foo', 'bar')
json.put('blat', 'greep')
println json
===>{"foo":"bar","blat","greep"}
println json.toString(4)
===>{
    "foo": "bar",
    "blat": "greep"
}
Run Code Online (Sandbox Code Playgroud)


iba*_*alf 5

您可以使用grails.converters.JSON(这是JSON最常用的库):

在config.groovy文件中,添加行以将prettyPrint设置为true:

grails.converters.default.pretty.print=true
Run Code Online (Sandbox Code Playgroud)

然后,在你的控制器中:

import grails.converters.*

def serviceURL = new URL(theURL)
def json = JSON.parse(serviceURL.text)
println "JSON RESPONSE: ${json.toString()"
Run Code Online (Sandbox Code Playgroud)