【发布时间】:2020-10-15 20:34:02
【问题描述】:
我是 jq 的新手,我有以下 JSON,我需要提取四个值,即 SAUCE_KEY、sauceKey、SAUCE_VALUE、sauceValue 等。我需要将这些 bash 变量转换为即
SAUCE_KEY=sauceKey
SAUCE_VALUE=sauceValue
如果我要回显它,它应该打印它的值,即。回声 $SAUCE_KEY
我使用的代码是:
jq -r '.env_vars[] | with_entries(select([.key] | inside([".env_vars[].name", ".env_vars[].value"])))' | jq -r "to_entries|map(\"\(.value)=\(.value|tostring)\")|.[]"
通过这样做,我能够获得如下值 name=SAUCE_KEY, value=sauceKey 等等。
{
"@type": "env_vars",
"env_vars": [
{
"@type": "env_var",
"@href": "/repo/xxxxx/env_var/xxxxx",
"@representation": "standard",
"@permissions": {
"read": true,
"write": true
},
"name": "SAUCE_KEY",
"value": "sauceKey"
},
{
"@type": "env_var",
"@href": "/repo/xxxxx/env_var/xxxxx",
"@representation": "standard",
"@permissions": {
"read": true,
"write": true
},
"name": "SAUCE_VALUE",
"value": "sauceValue"
}
]
}
【问题讨论】:
-
欢迎来到 Stack Overflow。 SO is a question and answer page for professional and enthusiast programmers。请在您的问题中添加您自己的代码。您应该至少展示自己为解决这个问题所做的研究。