微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法在 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。