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

能否用jq按任意键名展开带冒号分隔键的JSON对象/列表?

用jq递归展开JSON中的冒号分隔键

我原本打算编写Python程序解决一个棘手的JSON处理问题,但想尝试用jq实现更优雅的方案——既追求简洁的解决方案,也借此学习jq(我是jq新手)。

我拿到的JSON来自一个无法修改输出格式的工具,其中包含冒号分隔键,需要将这类键递归“展开”:例如将"A:B:C": { ... }转换为嵌套对象结构;拥有相同前缀的冒号分隔键需要合并。

核心需求:

  • 输入可能是单个对象或对象数组,展开操作需递归处理数组内部元素,但不能跨数组元素合并冒号分隔键
  • 支持任意长度的冒号分隔键
  • 支持任意嵌套层级的JSON结构

补充说明:已找到@pmf提供的优雅解决方案,可处理任意嵌套的对象和列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 19:05:54