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

如何使用jq生成扁平化的repo:tag拼接序列?

解决方案

使用jq工具(推荐,适合命令行场景)

jq是专门处理JSON数据的命令行工具,跨平台可用。执行以下命令即可得到你需要的结果:

jq -r '.[] | .repo as $r | .tags[] | "\"\($r):\(.)\""' input.json

命令说明:

  • .[]:遍历输入JSON数组中的每个repo对象
  • .repo as $r:将当前对象的仓库地址存入变量$r,避免重复读取
  • .tags[]:遍历当前对象的所有标签
  • "\"\($r):\(.)\"":通过字符串插值拼接成带双引号的repo:tag格式

如果不需要输出双引号,去掉转义引号即可:

jq -r '.[] | .repo as $r | .tags[] | "\($r):\(.)"' input.json

使用Python脚本(适合编程场景)

如果习惯用Python处理,可编写如下脚本:

import json

# 读取JSON文件(也可直接将JSON数据赋值给data变量)
with open("input.json", "r") as file:
    data = json.load(file)

# 遍历并拼接输出
for entry in data:
    repo_name = entry["repo"]
    for tag in entry["tags"]:
        print(f'"{repo_name}:{tag}"')

运行脚本后,会直接输出符合要求的扁平化列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:55:23