【发布时间】:2017-07-08 00:14:57
【问题描述】:
我有一个如下所示的 json 响应:
[
{"id":10,
"list_file":["/var/a.txt",
"/dev/b.txt"]}
]
我需要提取 list_file 的值并将它的 shell 变量存储为一个数组。我尝试循环并读取值。
#!/bin/bash
x=()
while read -r value
do
#echo "$value"
x+=("$value")
done < <(jq -r '.[] | .list_file' input.json)
但数组中提取的值也包含引号、括号和逗号。
[
"/var/a.txt",
"/dev/b.txt"
]
您能否帮我修改代码,使数组只包含条目/var/a.txt 和/dev/b.txt。另外,我尝试了 readarray 和 map,但它们在 Mac Osx 上不起作用。任何帮助将不胜感激。
【问题讨论】:
-
这不是有效的 json,请您修复您的示例(editting 问题)
-
更正了 json。