无法在 groovy 中转换为漂亮的字符串

问题描述

我正在调用 curl 以在 groovy 中休息 api 签证卷曲。响应很好,但响应非常大,它是 17MB 的数据,以下是我的脚本:

def converter = "curl.......'"

def initialSize = 4096
def out = new ByteArrayOutputStream(initialSize)
def err = new ByteArrayOutputStream(initialSize)
def process = [ 'bash','-c',converter].execute()
process.consumeProcessOutput(out,err)
process.waitFor()

Curl 响应很好,当我在控制台上打印响应,存储在变量中时,它给出响应数据,因为我看到一些“/n”字符,它不是整齐的 json。当我将其写入文件时,我看不到任何新行和整洁的 json,我只看到一行中的键值格式数据。

{"key1":"value1","key2":"value2",} in one huge line only

这是我在崇高中观看的时候。现在我想将其转换为漂亮的 json 并整齐地写入文件。我尝试遵循方法,但在控制台和文件中都打印为空 ({ })。

def json = JsonOutput.toJson(out)

println new JsonBuilder(out).toPrettyString()

我错过了什么?

我只尝试使用 groovy 库。

更新:

当我尝试调试时,我发现这可能是因为所有 JSON 解析器都需要字符串,但我的输出是 ByteArrayOutputStream。但是现在如何将 out 转换为 string ?我试过 out.toString 和 out.text,没用。

解决方法

使用 ... get<{ options: Options[]; courses: any[] }>(`/courses?myParam=${myParam}`)().then((result) => { ... } 而不是 StringWriter

然后ByteArrayOutputStream

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...