从groovy查询json文件时得到空响应

wgmfuz8q  于 2023-01-20  发布在  其他
关注(0)|答案(2)|浏览(179)

我在我的jenking groovy文件中使用下面的代码片段,在那里我得到了null响应。

def Services= sh(script: "curl -s --header \"PRIVATE-TOKEN: ${gittoken}\" ${url}| jq -r .${Servicename}[]", returnStdout: true)

我正在下载的文件如下所示。

{
  "FrameWork1": [
    "sample/sample1",
    "sample/sample2"
  ]
 
}

基本上我得到的是Framework1的值
如果我给予下面的一个值,我将得到Framework对象的第一个值
工作组成员:###############

def Services= sh(script: "curl -s --header \"PRIVATE-TOKEN: ${gittoken}\" ${url}| jq -r .${Servicename}[1]", returnStdout: true)
hsgswve4

hsgswve41#

jq过滤器应为.FrameWork1[]以获取字符串列表
https://jqplay.org/s/3iCv-off4ep

tjrkku2a

tjrkku2a2#

不要使用shell参数扩展来生成jq程序,而是将shell参数作为实参传递给jq(这样就不必担心上下文、引用、转义等问题)。

... | jq -r --arg svc "$Servicename" '.[$svc][]'

相关问题