运行以下命令:

$ echo '["lorem", "ipsum", "dolor"]' | jq '. | contains(["rem"])' 

返回true,因为"rem"是"lorem"的子字符串.我想要一个完整的单词匹配,这将取消"rem"的资格,并只允许在输入的三个值之一.

$ echo '["lorem", "ipsum", "dolor"]' | jq 'select(. | index("rem"))'

根本不返回任何内容,但JQ干净利落地退出.我本以为会是false分.

如何获取全字匹配的布尔值?

推荐答案

如果any(=至少一项)等于(==)给定值,则希望获得true:

$ echo '["lorem", "ipsum", "dolor"]' | jq 'any(. == "lorem")'
true

$ echo '["lorem", "ipsum", "dolor"]' | jq 'any(. == "rem")'
false

换句话说,如果给定值包含IN一组项.[],则您希望收到true:

$ echo '["lorem", "ipsum", "dolor"]' | jq 'IN(.[]; "lorem")'
true

$ echo '["lorem", "ipsum", "dolor"]' | jq 'IN(.[]; "rem")'
false

Json相关问答推荐

Vega通孔信号中的动态梯度

如何在对象投影(*)上应用滤镜投影([?port==`eth1`])?

在Vega中如何通过滑块改变条形图的宽度

在Snowflake中查询JSON时,属性名称是否支持绑定参数?

数据到jsonObject到数据到 struct 是可能的吗?

PowerShell - 将 json 添加到文件内容

如何在 jq 中按 IP 地址排序?

jq 中的整个单词匹配

使用本地 JSON api react TS Axios

Oracle json 对象的最后一个值不在引号中

为什么根据其他工具,来自 aws rds 的 JSON 在 Docker 中格式错误运行?

jq搜索特定字符串并输出对应的父值

以 JSON 格式访问(新型、公共)Google 工作表

将 YAML 文件转换为 Python JSON 对象

在 JSON API Wordpress 上启用 CORS

如何使用 Jackson 注释从 HttpResponse 反序列化 JSON 对象?

JSON Schema:验证数字或空值

Spring restTemplate 获取原始 json 字符串

Microsoft.Net.Http 与 Microsoft.AspNet.WebApi.Client

通过 JSON 发送 64 位值的公认方式是什么?