我正在使用名为 jq 的工具解析 JSON 响应。
jq 的输出将在命令行中提供全名列表。
我有变量getNames其中包含 JSON,例如:
{
"count": 49,
"user": [{
"username": "jamesbrown",
"name": "James Brown",
"id": 1
}, {
"username": "matthewthompson",
"name": "Matthew Thompson",
"id": 2
}]
}
我使用以下命令将其通过 JQ 传递以过滤 json:
echo $getNames | jq -r .user[].name
这给了我一个这样的列表:
James Brown
Matthew Thompson
我想将这些条目中的每一项放入 bash 数组中,因此我输入以下命令:
declare -a myArray
myArray=( `echo $getNames | jq -r .user[].name` )
但是,当我尝试使用以下方式打印数组时:
printf '%s\n' "${myArray[@]}"
我得到以下信息:
James
Brown
Matthew
Thompson
如何确保在新行之后创建新索引而不是空格?为什么名字要分开?
Thanks.