CSV 转 JSON 转换器

将 CSV 转换为 JSON,支持自定义表头、分隔符和值类型。

Advanced settings
解析
输出

只需三步将 CSV 转换为 JSON

  1. 添加 CSV 数据。 粘贴文本或选择支持的 CSV 或分隔文件。
  2. 确认解析器设置。 检查分隔符、表头行、空值处理行为和类型检测。
  3. 预览并导出。 检查解析后的行,然后复制或下载格式化后的 JSON。

检测 CSV 结构

分隔符

该工具会尝试检测常见的分隔符:逗号、分号、制表符和竖线。检测结果仍可编辑。如果文件在引号文本内包含许多逗号,可能会干扰自动检测,且区域性导出的文件通常使用分号。

预览会在转换前显示选定的分隔符和检测到的列数。

表头行

当首行包含字段名称时,其后的每一行都可以变成一个 JSON 对象。

id,name,status
1,Ada,active
2,Lin,paused

建议的输出:

[
  {"id": "1", "name": "Ada", "status": "active"},
  {"id": "2", "name": "Lin", "status": "paused"}
]

如果不存在表头,您可以输出数组的数组、生成类似于 column_1 的键,或输入自定义字段名称。

正确解析带引号的字段

当正确使用引号时,CSV 字段可以包含分隔符、换行符或字面引号。

name,notes
"Ada","Uses commas, quotes, and
multiple lines"

解析器将整个 notes 值保留在一个字段中,并解码引号值内部的转义引号对。

选择 JSON 输出形状

对象数组

使用表头行作为对象键。这是 API、应用程序导入和大多数开发者工作流的默认设置。

数组的数组

将每一行保留为按位置排列的数组。当 CSV 没有表头或重复的表头不应成为对象键时,这非常有用。

包装对象

可选的根键可以产生:

{
  "records": [
    {"id": "1", "name": "Ada"}
  ]
}

必须显式输入根键。工具不会凭空创造具有语义的集合名称。

控制数据类型

CSV 没有通用的类型元数据。最安全的默认设置是将所有单元格值保留为字符串。

  • 将所有值保留为字符串 — 默认设置,这样像 00123 这样的标识符就能保留其前导零。
  • 检测数字和布尔值 — 将数字文本转换为 JSON 数字,将 true/false 转换为布尔值。
  • 空单元格处理 — 保留为空字符串或输出 null

从表头重构嵌套对象

可选的点路径模式可将类似于 address.cityaddress.country 的表头转换为嵌套的 JSON。

{
  "address": {
    "city": "London",
    "country": "UK"
  }
}

此模式默认处于禁用状态,因为字面列名中可能包含句点。用户可以控制点是否表示嵌套。

导出前预览解析结果

预览显示检测到的分隔符、表头状态、行列计数、异常行警告、重复或空白表头警告、小型源表预览以及格式化后的 JSON 输出。

常见的 CSV 转 JSON 问题

包含逗号的名称创建了多余的字段

该字段在源 CSV 中必须使用引号括起来。 解析器尊重带引号的分隔符,并会报告格式错误的引号包裹。

各行包含的列数不同

文件不规则或选错了分隔符。 输出将显示哪些行存在差异;默认情况下,缺失的值会被填充,多余的值会被保留。

前导零消失

对标识符列禁用数字类型检测。00123 这样的值通常是 ID,而不是数字 123。

首行数据变成了属性名称

关闭“首行为表头”。 使用数组输出或提供自定义键。

空单元格应变为 null

在转换前选择空值策略。 预览会区分 ""null

CSV 转 JSON 常见问题

转换器能处理值内部的逗号吗?

可以,只要该值正确使用了引号。 解析器会将带引号字段内部的分隔符视为内容。

它可以解析分号或制表符分隔的文件吗?

可以,只要检测到或选定了该分隔符。 选定的分隔符在选项面板中可见。

第一行必须是表头吗?

不需要。 您可以将第一行用作键、生成列名,或输出数组的数组。

数字会保持为数字吗?

仅当启用类型检测时才会如此。 对于标识符和带有前导零的值,将值保留为字符串更为安全。

带点的表头能创建嵌套的 JSON 吗?

可以,通过可选的嵌套键模式。 当句点是列名的字面部分时,请保持其禁用状态。

CSV 会被上传吗?

不会 — 粘贴的数据完全在您的浏览器中解析。 对于超过浏览器处理限制的文件,会提供可选的服务器备用方案,未经您的同意不会上传任何内容。