使用Groovy将yaml转换为json

0qx6xfy6  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(226)

我在Jenkins管道上有一个yaml文件(用Groovy编写脚本),我想将该yaml文件转换为JSON格式,以便以该格式解析。
我定义了一个包含所有yaml文件内容的变量(data)。不知道这是否会使它更容易转换,但除此之外,我可以直接转换yaml文件,而不用将内容放在变量上。
绝妙的舞台脚本:

stage ("GET deployConfig file"){
    def data = readYaml file: './evaluations/integration-test- 
    docker/dev/deployConfig.yaml'
    println("YAML-FILE: " + data)     
}

有没有人知道怎么才能做到这一点?
谢谢

o2gm4chl

o2gm4chl1#

转换为json并将其写入文件

import groovy.json.*

stage{
    def data = readYaml file: ....
    def json = new JsonBuilder(data).toPrettyString()
    writeFile file: ..., text: json
}
zyfwsgd6

zyfwsgd62#

以防有人发现这个有用。
使用新的JsonBuilder会导致Jenkins(通过groovy脚本)抛出异常;使用了JsonOutput.toJson(data)

def json = JsonOutput.toJson(data)

相关问题