从jenkins JSON API获取字段值
我有一个jenkins JSON API,它给我一个存储在变量从jenkins JSON API获取字段值,json,key,jq,Json,Key,Jq,我有一个jenkins JSON API,它给我一个存储在变量data {"credentials":{"xxxxxxxxxxxxxx111":{},"xxxxxxxxxxxx2222":{}},"description":"All credentials that are not bound to a specific domain.","displayName":"Global credentials","fullDisplayName":"Credentials » Global cred
data
{"credentials":{"xxxxxxxxxxxxxx111":{},"xxxxxxxxxxxx2222":{}},"description":"All credentials that are not bound to a specific domain.","displayName":"Global credentials","fullDisplayName":"Credentials » Global credentials","fullName":"credential-store/_","global":true,"urlName":"_"}
我只需要凭证字段xxxxxxxxxxxx 111和xxxxxxxxxxxx 2222的值
到目前为止,我尝试过的事情是
echo $data | grep "credentials"
echo $data | jq -e '.credentials[]|{}' -c
这是行不通的
有人能推荐一些有效的方法吗。你可以使用这个
jq
过滤器:
jq -r '.credentials|to_entries|.[]|.key' file
函数
to_entries
允许获取键和值,然后可以使用键
关键字对其进行过滤。在您的示例中,凭证
对象中的元素是空对象。你所看到的价值观是什么?请使用预期的输出更新您的问题。我在这里查找值xxxxxxxxxxxx 111和xxxxxxxxxxxx 2222,它们是第一组花括号{“xxxxxxxx 111”:{},“xxxxxxxx 222”:{}内的值