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

如何在jq查询中过滤含end键的属性并生成指定映射结果

问题描述

之前使用jq从JSON中提取EMAIL与JOB_TITLE生成指定格式的键值对,但发现部分属性包含过期的end键,导致数据异常。需要过滤掉所有包含end键的属性,最终生成如下格式结果:

"john.doe@contoso.com": "SALESMAN",
"lorraine.doe@contoso.com": "SECRETARY"

旧查询语句:

.[].attributes | from_entries
| select(has("JOB_TITLE") and has("EMAIL"))
| "\"\(.EMAIL)\": \"\(.JOB_TITLE)\""
修改后的jq查询方案
.[].attributes
| map(select(has("end") | not))
| from_entries
| select(has("JOB_TITLE") and has("EMAIL"))
| "\"\(.EMAIL)\": \"\(.JOB_TITLE)\""

关键修改说明

  • 在将attributes数组转换为对象前,新增map(select(has("end") | not))步骤,遍历并剔除数组中包含end键的属性条目,避免过期数据混入后续处理。
  • 剩余逻辑保持原有筛选与格式输出逻辑,确保最终生成符合要求的键值对字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:45:42