json - 如何使用 JQ 从 JSON 中删除不必要的项目?
问题描述
我需要这个:(示例)
{
"jobs": [
{},
{}
],
"services": {
"service-1": {
"version": "master"
},
"service-2": {
"foo": true,
"version": "master"
},
"service-3": {
"bar": "baz"
}
}
}
做这个:
{
"services": {
"service-1": {
"version": "master"
},
"service-2": {
"version": "master"
}
}
}
所以删除除.services.*.version
. 请帮忙,以我对JQ的了解无法处理。
解决方案
如果您希望区分“版本”不存在或为空:
{services}
| .services |= map_values(select(has("version")) | {version} )
推荐阅读
- javascript - 在 firebase 实时数据库中使用数组搜索
- php - 在 PHP 中使用 RSA/ECB/PKCS1Padding 加密数据
- google-people-api - people API 调用者没有权限错误
- python - 使用 python 请求进行 Web 抓取的 JWT 不记名授权
- c++ - 在 std::unique_ptr 下移动值
- python - 无法使用 selenium python 获取所有 foodpanda 商店名称
- ethereum - ERC20Capped:在合约创建期间无法读取不可变变量,这意味着它们无法在构造函数 OpenZeppelin 4 中读取
- python - 如何修复这个小时费率计算器?
- javascript - 需要一个解决方案来重定向到另一个页面,并且还必须在该页面中打开一个模式
- python - 使用 python 显示活动图