jq 如何在单个 --arg 中使用带有嵌套键的拆分
jq how to use split with nested keys in single --arg
我想在 arg 中将嵌套键传递给 jq。使用单个 --arg key $mypath
失败。
看其他问题似乎split
是正确的方法,但我找不到一个有效的基本示例。
mypath="level1.level2.level3"
//working hardcode
jq '.level1.level2.level3' $myfile
//variations tried
jq --arg nest "${mypath}" '.[$nest]' $myfile
jq --arg nest "${mypath}" '.[$nest]|split(".")' $myfile
jq --arg nest "${mypath}" '.|split(".")|[$nest]' $myfile
为此你需要 getpath/1
。该方法采用一系列路径到特定节点和returns存在于它的值
jq --arg nest "$mypath" 'getpath($nest|split("."))'
我想在 arg 中将嵌套键传递给 jq。使用单个 --arg key $mypath
失败。
看其他问题似乎split
是正确的方法,但我找不到一个有效的基本示例。
mypath="level1.level2.level3"
//working hardcode
jq '.level1.level2.level3' $myfile
//variations tried
jq --arg nest "${mypath}" '.[$nest]' $myfile
jq --arg nest "${mypath}" '.[$nest]|split(".")' $myfile
jq --arg nest "${mypath}" '.|split(".")|[$nest]' $myfile
为此你需要 getpath/1
。该方法采用一系列路径到特定节点和returns存在于它的值
jq --arg nest "$mypath" 'getpath($nest|split("."))'