JSON 到CSV转换器

将 JSON 列表转换为适合电子表格使用的CSV格式文件。该转换器会检查您的数据,构建稳定的列顺序(可基于首条记录或所有键值的联合),在您选择启用时扁平化嵌套结构,并生成可在Excel、Numbers、Google Sheets或任何Pandas脚本中顺利打开的CSV文件。

转换器的工作原理

  1. 1

    粘贴或上传 JSON

    一组对象,或一个封装后的有效载荷(其中数据集中于单一密钥下)。

  2. 2

    选择列策略

    可采用首条记录的键值(快速且可预测)或整合所有记录的键值(更为全面)。

  3. 3

    调整输出

    分隔符、引号样式、嵌套数据展平、标题启用/禁用、适用于 Excel 的 UTF-8 BOM。

  4. 4

    下载

    保存为`.csv`并导入至您的电子表格,或使用`pandas.read_csv`进行加载。

列排序策略

  • 从首条记录开始:列与首个 JSON 对象的键值完全匹配,操作快速且结果确定;但会遗漏仅出现在后续记录中的键值。
  • 所有键的联合扫描:遍历每条记录并收集所有键值。在处理超大规模数据集时速度较慢,但可生成完整的列列表。
  • 自定义顺序:提供由逗号分隔的列名列表;其余内容将按出现顺序依次添加至末尾。

引用与转义

遵循 RFC 4180

包含逗号、换行符或双引号的字段必须用双引号括起来。 在引号内的双引号需用转义符号处理:例如 He said "Hi" 变为 "He said ""Hi"""。 引号内的换行符是允许使用的,但并非所有导入工具都支持此功能;如需实现最佳兼容性,请启用“转义换行符”选项。

保留数据类型

CSV数据格式为纯文本形式,所有内容均以字符串存在。诸如数值列、布尔值或日期等类型的提示信息均依赖用户自身的解析能力。以下是一些实用建议:

  • 前导零007)在CSV文件中以字符串形式保留,但Excel会自动将其转换为数字。使用前缀=""007""(虽然不太美观但有效),或在Excel中以文本形式导入。
  • 超过2^53范围的大整数在Excel中会丢失精度,应在 JSON 中以字符串形式保存。
  • ISO日期2026-04-18T10:22:00Z)仅在导入时将该列格式设为文本的情况下,才能在Excel的双向转换中保留。
  • 布尔值将转换为 true/false 字符串。若下游系统要求使用 1/0,请在导出前进行映射处理。

BOM和Excel

Windows 版 Excel 要求文件开头包含 UTF-8 BOM(0xEF 0xBB 0xBF),否则系统会将 UTF-8 字节视为 Latin-1 编码,并错误处理 ASCII 编码以外的字符。Mac Numbers 和 Google Sheets 则同时支持这两种编码格式。

常见错误

  • 传递对象而非数组。 该工具需要 [{...}, {...}],而非 {...}。请先进行解包操作。
  • 不同记录中使用不同的键。请采用“所有键的并集”策略以避免数据列丢失。
  • **空值的哨兵值定义:**部分数据处理流程将空白单元格视为null值;其他流程则将其视为字符串""。请选定一种规范并在整个项目中统一使用。
  • 区域设置不匹配。 使用,导出文件后,在期望使用;的欧洲版Excel中打开时,可能导致列折叠。请将分隔符设置为与目标区域设置一致。

常见问题

向数组提供JSONPath(例如$.data.items),或手动展开结构。该工具将尝试自动检测顶层对象内的单一数组。

Excel会积极将看似数字的字符串转换为数值。您可以在Excel的导入向导中将CSV文件作为“文本”导入,或在导出时将类似"007"这样的值包装为="007"(该工具可通过“文本安全模式”切换功能实现此操作)。

是的。您可选择以下方式:使用分隔符连接(tags: "a,b,c")、以 JSON 格式序列化(tags: "[\"a\",\"b\"]"),或按索引拆分为单列(tags.0tags.1tags.2)。

是的,Google Sheets能够完美处理 UTF -8编码及标准分隔符。对于超大数据集(>10MB),建议使用IMPORTDATA格式导入而非直接粘贴。

相关工具

此工具还提供其他语言版本