bash - 在詹金斯管道中使用时出现 jq 问题
问题描述
我有一个 JSON 对象 x 和一个变量 requiredValue
let requiredValue = 5;
let x = [
{"score":1},
{"score":2},
{"score":3}
}
这里首先使用 jq 我想提取所有分数值,然后检查对象中是否有任何分数值大于或等于 requiredValue。
这是我尝试过的
jq -r '.[].score | join(",") | contains([requiredValue])'
假设如果 requiredValue 为 5,则 jq 查询应返回 false,如果 requiredValue 为 2,则应返回 true。
解决方案
以下内容已使用 bash 进行了测试:
requiredValue=5
x='[
{"score":1},
{"score":2},
{"score":3}
]'
jq --argjson requiredValue $requiredValue '
any(.[].score; . >= $requiredValue)' <<< "$x"
结果:
false
推荐阅读
- git - Git 提交作为先前提交的一部分
- database - 是否可以根据内容结构识别用于创建数据文件的编程语言?
- flutter - 如何根据在颤动中单击哪个导航栏按钮来更改脚手架主体?
- c++ - C ++中向量错误的解决方案是什么?
- api-gateway - 如何将 JSON-RPC 请求分发到后端?
- kubernetes - Kubernetes 从节点本身耗尽节点的权限
- c++ - 将大括号括起来的初始化列表传递给可变参数宏并扩展为 std::pair<>
- scala - 迭代播放jsarray
- flutter - 使用 php laravel 请求下一页的 Flutter 分页
- html - 使用 HTML 和 CSS 插入背景图像,不起作用