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

如何将包含image_id与caption的文本转换为指定结构的JSON文件

实现转换的两种方案

方案一:Python脚本实现(推荐,适合大量数据场景)

首先注意:JSON规范不允许数字类型存在前导零,如果你需要保留0873里的前导0,需要把image_id设为字符串类型,脚本里提供了两种可选写法。

  • 先把你的源内容保存为纯文本文件,命名为source.txt
  • 运行以下Python代码即可生成目标JSON文件:
import json

result = []
with open("source.txt", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 按分隔符拆分,先拆分出image_id和后面的caption部分
        parts = line.split("caption", 1)
        image_id_str = parts[0].replace("image_id", "").strip()
        caption = parts[1].strip()
        # 可选1:image_id为数字类型,自动去掉前导零
        # image_id = int(image_id_str)
        # 可选2:image_id为字符串类型,保留前导零
        image_id = image_id_str
        result.append({"image_id": image_id, "caption": caption})

# 写入到结果文件
with open("output.json", "w", encoding="utf-8") as f:
    json.dump(result, f, ensure_ascii=False, indent=2)

运行后生成的output.json就是你需要的文件。

方案二:文本编辑器批量替换(适合小数据量快速处理)

如果你只有少量数据,可以用支持正则查找替换的编辑器(比如VS Code、Sublime Text)操作:

  • 把源内容粘贴到编辑器里,开启正则查找替换模式
  • 查找规则填:image_id\s+(\d+)\s+caption\s+(.*)
  • 替换规则填:{"image_id": "$1", "caption": "$2"},
  • 全部替换后,手动在最前面加[,最后面去掉多余的逗号再加]即可完成。

注意:这个方法生成的image_id默认是字符串类型,如果你需要数字类型,把替换规则里的"$1"改成$1即可,同时要手动去掉前导零避免JSON格式报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:54:00