You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JQ按JSON的name字段是否含指定字符串动态添加键值对?

问题根因

你编写的JQ语句使用==做全值匹配,仅当name字段完全等于字符串random时才会触发值为1的分支,不符合「判断是否包含子串」的需求。

正确处理语句

JQ内置的contains()函数可用于判断子串存在性,同时可以直接为新字段赋值,无需使用冗余的合并对象写法,正确语句如下:

.Contains = if (.name | contains("random")) then 1 else 0 end

执行示例

如果你的JSON数据存储在input.json文件中,执行以下Shell命令即可得到预期输出:

jq '.Contains = if (.name | contains("random")) then 1 else 0 end' input.json

内容的提问来源于stack exchange,提问作者Fight Daily

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 06:54:02