我有一个在给定JSON的钥匙迭代使用此功能curl
,并jq
为JSON处理器,我的代码如下所示:(庆典)
function getJSONContent {
option=""
for option in "header" "developer" "category" "description"
do
content=$(curl -s $extension_url | jq ".[\"$extension\"][\"$option\"]")
printf "$content\n"
done
}
但问题是它卷曲了 4 次,我还没有找到更好的解决方案而不会出错。
这样做好吗?或者在 Bash/Shellscript 中是否有更好的解决方案?
注意:在您否决我的问题之前,请尝试对我的问题进行更改以更好地拟合以获得更好的答案,谢谢
有没有更好的解决方案......?
是的!
显然,您只需要调用一次 curl 和一次调用 jq,但至少,您应该避免多次调用 curl。
避免“即时”构建 jq 命令。相反,您可以在命令行上传入 shell(或环境)变量,例如使用 --arg 或 --argjson
在这种特定情况下,看起来您可以通过简单地使用 jq 的 ',' 运算符来避免多次调用 jq。
简而言之,请尝试以下几行:
curl -s "$extension_url" |
jq --arg extension "$extension" '
.[$extension]["header","developer","category","description"]'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句