Gradle执行Shell命令并获取执行结果|进行JSON数据解析

Posted Code-Porter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle执行Shell命令并获取执行结果|进行JSON数据解析相关的知识,希望对你有一定的参考价值。

一、在gradle中新增自定的task

task custom 
    def out = new ByteArrayOutputStream()
    def cmd = 'ls -l'
    exec 
        ExecSpec execSpec ->
            executable 'bash'
            args '-c', cmd
            standardOutput = out
    
    println(out.toString())

通过调用exec就可以执行那些可以在Terminal中运行的命令了,standardOutput参数就可以获取到命令执行的结果信息,执行结果如下:

二、上面说到可以执行shell命令,当你执行的是个curl时便有可能会返回JSON格式的数据这时候就需要进行解析了

  • 解析也是很简单,只需要使用到groovy.json.JsonSlurper()
task parseJson 
    def json = '"json":"哈哈哈"'
    def parsedJson = new groovy.json.JsonSlurper().parseText(json)
    println(parsedJson)
    //直接.json的key获取值
    println(parsedJson.json)

执行结果如下:

以上是关于Gradle执行Shell命令并获取执行结果|进行JSON数据解析的主要内容,如果未能解决你的问题,请参考以下文章

python Python执行shell命令并获取结果(os.system,os.popen,subprocess)

bash shell如何获取到命令执行结果的值?

shell 获取命令执行的结果,获取结果返回

如何将一shell脚本中的每一步命令执行结果输出到指定日志文件中

利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集

python获取执行命令的返回结果