codegeex支持五种json转换方式:一、交互模式生成带错误处理的python脚本;二、提示词模板批量转换json schema;三、嵌入实时校验与标准化逻辑;四、跨语言(如ts/rust)重写转换代码;五、协同tabby实现gb级json流式处理。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在开发中需要将一种结构的 JSON 数据转换为另一种结构,或需在 JSON 与 CSV、YAML、XML 等格式间互转,CodeGeeX 可基于自然语言指令自动生成可靠转换脚本。以下是实现 JSON 转换任务的具体操作路径:
一、使用交互模式生成 JSON 转换脚本
该方法适用于明确描述输入输出结构的场景,CodeGeeX 将根据注释理解语义并生成完整、带错误处理的 Python 脚本。
1、在 VSCode 中打开一个新 .py 文件,光标置于空白处。
2、输入中文注释,例如:# 将用户列表JSON(含id、name、email字段)转换为扁平化CSV,字段名改为user_id、full_name、contact_email
3、按下 Ctrl+Enter 激活 CodeGeeX 交互模式。
4、在右侧候选窗口中查看生成的代码,确认无误后点击 “use code” 插入到当前文件。
5、保存文件并运行,验证输出 CSV 是否符合字段映射要求。
二、利用提示词模板批量转换 JSON Schema
该方法适用于需复用相同转换逻辑处理多组 JSON 的情况,通过预设模板可确保每次生成一致、合规的结构化代码。
1、进入 VSCode 设置 → Extensions → CodeGeeX → PromptTemplates。
2、点击 “Add Template”,填写名称如 json-to-yaml-converter,内容为:
# language: Python\n# 任务:将输入JSON字符串转换为YAML格式字符串,保留缩进2空格,禁用锚点和标签\n# 输入示例:{"users": [{"id": 1, "active": true}]}
3、在编辑器中选中任意 JSON 字符串或粘贴一段测试数据。
4、按下 Alt+T 触发提示模式,选择刚创建的模板。
5、CodeGeeX 将生成调用 yaml.dump() 的完整转换函数,并包含异常捕获逻辑。
三、在代码中嵌入实时 JSON 校验与标准化
该方法适用于已有 JSON 处理逻辑但需增强健壮性,CodeGeeX 可直接对选中代码块注入校验、类型转换与字段补全能力。
1、在 Python 文件中选中一段原始 JSON 解析代码,例如:data = json.loads(raw_input)
2、右键 → 选择 CodeGeeX → Optimize Selection。
3、插件将返回增强版本,自动添加:jsonschema 验证、缺失字段默认值填充、datetime 字符串自动解析为对象。
4、接受优化建议后,原代码将被替换为含 validate(instance=data, schema=schema) 调用的完整模块。
四、跨语言 JSON 转换代码生成
该方法适用于需将同一转换逻辑部署至不同技术栈的场景,CodeGeeX 支持按目标语言特性重写核心逻辑,而非简单语法替换。
1、新建一个空文件,命名为 transform.js。
2、输入注释:// 将嵌套JSON中的products[].price(字符串)转为number,同时提取categories数组去重后升序排列
3、按下 Ctrl+Alt+T 启动翻译模式。
4、在弹出语言列表中选择 TypeScript,确认后生成含 map(Number) 与 Array.from(new Set()) 的强类型实现。
5、若当前文件为 .ts,则选择 Rust,CodeGeeX 将输出使用 serde_json 和 BTreeSet 的等效实现。
五、使用 Tabby 协同完成 JSON 流式转换
该方法适用于超大 JSON 文件(GB 级)无法全量加载内存的场景,Tabby 提供本地部署的轻量模型,可与 CodeGeeX 配合生成分块流式处理逻辑。
1、确保本地已运行 Tabby 服务(端口 8080),并在 VSCode CodeGeeX 设置中启用 Local LLM Fallback。
2、新建文件,输入:# 使用生成器逐行读取JSONL文件,过滤status=success的记录,输出为精简JSON数组
3、触发交互模式(Ctrl+Enter),CodeGeeX 将调用 Tabby 生成基于 jsonlines 库的内存安全实现。
4、生成代码中将包含 yield 表达式、try/except 流控及进度日志打印语句。
5、执行脚本时,可通过管道将输出直接导入 jq 或其他下游工具,无需中间文件。











