gpt4 book ai didi

json - 如何在jq中将整数作为参数?

转载 作者:行者123 更新时间:2023-12-04 18:32:22 25 4
gpt4 key购买 nike

我一直在尝试使用jq解析从aws cli返回的json文件,但是我一直困扰于使用索引号引用数组的问题。我需要执行此操作,因为我想导出一个文本文件,以特定格式描述安全组,包括所有入站和出站规则。

for (( i=1; i<=groupCount; i++ )) ; 
do
echo $i
echo $(echo "$input" | jq --arg i $i '.SecurityGroups[$i]')
done

这将返回一个错误:
1
jq: error (at <stdin>:189): Cannot index array with string "1"

2
jq: error (at <stdin>:189): Cannot index array with string "2"

3
jq: error (at <stdin>:189): Cannot index array with string "3"

有没有办法解决?

最佳答案

您可能必须使用命令行arg --argjsonfromjson过滤器才能将参数转换为数字。只能通过整数对数组进行索引,并且使用--arg将输入保留为字符串。

$ jq --argjson i "$i" '.SecurityGroups[$i]'
$ jq --arg i "$i" '.SecurityGroups[$i|fromjson]'

关于json - 如何在jq中将整数作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38752499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com