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

如何使用JQ截取JSON中id字段值的前8位以缩短字段长度

JQ实现方案

使用以下JQ命令即可完成需求:

jq 'map(.id |= .[:8])' 你的JSON文件路径

命令说明

  • map() 用于遍历JSON数组中的每一个元素,对每个元素执行括号内的修改逻辑
  • .id |= .[:8] 是JQ的更新赋值语法,将每个对象的id字段替换为自身字符串的前8位:JQ字符串切片遵循左闭右开规则,[:8]等价于从索引0取到索引7,刚好截取前8个字符。

如果需要直接处理管道传入的JSON内容,也可以使用以下写法:

# 示例:直接处理输入的JSON字符串
echo '[
  {
    "id": "35a97c36397886b93bd5619f38c676e739f7f834f82838dcfed602da1d3abf74",
    "name": "this is title one"
  },
  {
    "id": "a547d0112840946aa9e5c266261888d6ab7706e69fc7bb7fdbf907ea2d3da735",
    "name": "this is title two"
  }
]' | jq 'map(.id |= .[:8])'

执行后输出结果完全符合要求的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:27:01