gpt4 book ai didi

json - 我如何将参数作为索引传递给 jq?

转载 作者:行者123 更新时间:2023-12-03 19:46:14 25 4
gpt4 key购买 nike

嗨,我想访问 json 数组中的给定元素,如下所示:

$ echo '[  { "CT" : "OS1"  , "VERSION" : "3" } , { "CT" : "OS2"  , "VERSION" : "3" } ]'  | jq '.[1]'
{
"CT": "OS2",
"VERSION": "3"
}

但是,我想使用一个变量(来自 future 的环境)替换上面命令中的索引“1”,但这会产生错误。
echo '[  { "CT" : "OS1"  , "VERSION" : "3" } , { "CT" : "OS2"  , "VERSION" : "3" } ]'  | jq --arg index 1 '.[$index]'
jq: error (at <stdin>:1): Cannot index array with string "1"

一旦像这样解析,它似乎无法将此 1 解析为数值。有人可以帮助我吗?

最佳答案

您可以使用 --argjson选项:

jq --argjson index 1 '.[$index]'

jq --help 中所述:

--argjson a v set variable $a to JSON value <v>;

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

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