json - 如何使用 jq 从 json 中输出所有键和值?
问题描述
我正在尝试从我的 json 文件中删除与值“data10 = true”匹配的所有数据,但它只获取名称,我该如何制作它,以便它将输出我的 json 文件中与“匹配”的所有内容数据10=真”?
这就是我得到的 data=$(jq -c 'to_entries[] | select (.value.data10 == "true")| [.key, .value.name]' data.json )
顺便说一句,这是在我的 YAML 模板中,将其作为管道在 devops 中运行。
解决方案
jq 'to_entries | map(select(.value.data10=="true")) | from_entries' data.json
输入data.json,具有false值:
{
"FOO": {
"data10": "false",
"name": "Donald",
"location": "Stockholm"
},
"BAR": {
"data10": "true",
"name": "Walt",
"location": "Stockholm"
},
"BAZ": {
"data10": "true",
"name": "Jack",
"location": "Whereever"
}
}
输出:
{
"BAR": {
"data10": "true",
"name": "Walt",
"location": "Stockholm"
},
"BAZ": {
"data10": "true",
"name": "Jack",
"location": "Whereever"
}
}
推荐阅读
- javascript - React - TransitionGroup / ReactCSSTransitionGroup / CSSTransitionGroup 之间是否有区别
- sql - SSMS 查找列和表 查看参考
- ios - 配置文件与应用程序标识符和钥匙串访问组权利的权利文件值不匹配
- python - 用python计算fasta中的20-mers数字
- python - 在 SageMaker 中调用 fit 方法时如何防止出现 NoCredentialsError?
- linux - Docker Compose 中的 MongoDb - 提供配置
- java - InetAddress.getHostName() 不会从远程 IP 返回预期的反向名称查找,如 linux Host 命令
- angular - AngularDart [routerLink] 不附加父路径
- javascript - 使用本地存储或 cookie 来检测菜单点击
- java - 如何在 Java 中获取 OkHttp 的 POST 正文请求?