如何解决使用jq读取json作为数组
我有以下示例test.json
文件:
{
"folder": {
"name": "Desktop","path": "Users/user/Desktop","executable": false
}
}
我试图将“文件夹”中包含的对象读取为变量$var
作为数组。所需的输出-$var
包含以下内容:
[
{
"name": "Desktop","executable": false
}
]
这似乎相对简单。 jq '.folder' test.json
读取文件夹值,然后使用-s
标志通过管道传递输出以将其封装在数组中。该命令执行得很好:
jq '.folder' test.json | jq -s
但是,当我尝试将结果保存到变量中时,它会显示错误,显示jq
使用说明。我想念什么?有没有其他方法可以做到这一点?
var=$(jq '.folder' test.json | jq -s)
echo $var
我还发现,此方法在zsh
中工作正常,但在bash
中抛出错误。不确定是否相关以及是否与jq
解决方法
这是您所期望的吗?
$ var="$(jq "[.folder]" test.json)"
$ echo "$var"
[
{
"name": "Desktop","path": "Users/user/Desktop","executable": false
}
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。