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

使用jq将JSON转换为自定义非JSON格式的TABLE条目实现问题

jq 实现 JSON 转自定义格式文本方案

你可以直接使用以下完整 jq 脚本实现所有需求,不需要额外配合 shell 逻辑:

jq -r '
.result[] |
# 输出头部固定行
"COMMENT|\(.name)|\(.dbno)",
"SPOT|addr|\\@lbl|\(.address | join("|"))",
# 遍历所有segment,输出TABLE行后加分隔符
(.segments[] | (.lines[].products[] | "TABLE|\(.name)|\(.qty)|\(.price_ea)|\(.extended)"), "BREAK"),
# 输出尾部行
"FLUSH"
' 你的输入文件路径

逻辑说明

  • 直接用.result[]遍历result数组所有元素,不需要额外通过key索引取值,语法更简洁
  • 脚本里逗号分隔的多个字符串,jq会按顺序逐行输出,天然匹配你要的行顺序
  • 处理segments时,会先展开当前segment下所有lines的所有products,按原顺序生成TABLE行,每个segment处理完成后自动输出BREAK分隔符,完全符合你的分隔规则
  • 加-r参数是为了让jq输出原始文本,不会给结果额外加引号
    用你提供的样例JSON执行该脚本,输出结果和你给出的目标格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:24:01