我正在尝试使用bash过滤json文件,该文件可能类似于:
{
"key1": [],
"key2":["first_value","second_value"]
}
如果我想获取key1和key2,我可以这样做:
if $(cat $my_json | jq 'has("key1")'); then
values=$(jq -r ".key1" "$my_json")
for item in $values
do
echo
我有这样一个JSON文件:
{
"name" : "Allow",
"source" : [ "*" ,"0.0.0.0"]
}
我需要解析这个JSON,这样JSON中的字符串数组就可以转换为“空格分隔的字符串”。稍后,我需要将这些变量提供给另一个函数,如下所示:
local file="file-name"
while read val; do
local name
local source
name=$(jq --raw-output '.name'
$ jq -c -n -e '[$x, $y]' --argjson x '"a"' --argjson y '"b"'
["a","b"]
我知道我可以做上述的事情。如果我想从bash数组生成一个json数组,如下所示。是否有办法通过任意长度的论证来做到这一点?
$ jq {some jq arguments} a b c # the bash array can be of an arbitrary length.
["a","b","c&