CSV 转 JSON 转换器

数据 代码
上传或拖动 .csv 文件

简介

CSV 转 JSON 转换器弥合了电子表格样式数据与结构化 JSON 之间的差距。无论您是将数据从 Excel 导入 Web 应用程序、准备数据库导出的 API 负载,还是转换配置文件,该工具都能精确灵活地处理转换。

与需要安装的命令行工具或将数据上传到服务器的在线服务不同,Toollect CSV 转 JSON 转换器完全在您的浏览器中运行。每次按键都会实时更新 JSON 输出,为您提供即时反馈。无需通过网络传输数据,兼顾速度和隐私。

凭借智能分隔符检测、类型推断、多种输出格式和实时预览表,该转换器能够处理使 CSV 转换令人沮丧的边缘情况:包含逗号的引用字段、多行值、不一致的列数等。

工作原理

该转换器通过为准确性和灵活性设计的多阶段管道处理您的 CSV 数据。

解析

该工具使用遵循 RFC 4180 约定的自定义解析器逐行读取您的 CSV 输入。它正确处理:

  • 引用字段:用双引号括起来的字段可以包含分隔符、换行符和其他特殊字符
  • 转义引号:字段内的双引号表示为两个连续的双引号(""
  • 空字段:连续的分隔符产生空字符串值
  • 尾部空格:引号外的空格将被修剪以获得干净输出

分隔符检测

在自动检测模式下,该工具会分析数据的前几行,测试每个候选分隔符(逗号、制表符、分号),并选择产生最一致列数的分隔符。您可以随时手动覆盖检测到的分隔符。

类型推断

启用类型推断后,该工具会扫描每个值并转换识别的模式:

  • 数字:整数和小数(423.14-1.51e10)成为 JSON 数字
  • 布尔值truefalse(不区分大小写)成为 JSON 布尔值
  • Nullnull(不区分大小写)成为 JSON null
  • 字符串:其他所有内容保持为字符串

您还可以启用 JSON 值解析,它会尝试解析看起来像 JSON 对象或数组的字段。

输出格式

最终的 JSON 输出根据您选择的选项生成:

  • 对象数组:每行成为一个以表头行值为键的对象(默认)
  • 二维数组:输出为数组的数组,忽略表头行
  • 按第一列键控:一个以每个数据行第一列值为键的对象

输出可以格式化(2 或 4 空格缩进)或压缩为单行。

使用方法

使用 Toollect CSV 转 JSON 转换器无需设置或注册。请按照以下步骤操作:

  1. 打开工具 — 导航到 CSV 转 JSON 转换器页面。界面显示上传区域、输入文本区域、设置面板和输出区域。

  2. 输入数据 — 将 CSV 文本直接粘贴到文本区域,或单击上传区域(或拖放 .csv 文件)加载文件。

  3. 检查设置 — 该工具会自动检测分隔符,并默认启用表头和类型推断。根据您的数据调整这些设置:

    • 如果自动检测不正确,请选择不同的分隔符
    • 如果数据缺少表头行,请切换"首行为表头"
    • 禁用类型推断以将所有值保留为字符串
  4. 预览解析的数据 — 单击"显示预览"查看解析后的 CSV 数据的表格视图。这有助于验证分隔符和表头设置是否正确。

  5. 检查 JSON 输出 — JSON 输出会在您输入时自动更新。输出文本区域是只读的,以防止意外编辑。

  6. 复制或下载 — 单击"复制"将 JSON 复制到剪贴板,或单击"下载 JSON"将其保存为 .json 文件。

教程

本教程演示如何将 Excel 导出的 CSV 文件转换为用于 Web 应用程序的 JSON 数组。

场景:您有一个跟踪产品库存的 Excel 电子表格,希望将其导入需要 JSON 的 Web 应用程序。

  1. 从 Excel 导出 — 将您的电子表格保存为 CSV 文件。您应该得到类似以下内容:
Product Name, SKU, Price, In Stock, Category
Widget Pro, WDG-001, 29.99, true, Tools
Gadget X, GDG-002, 49.95, false, Electronics
Super Tool, SUP-003, 99.00, true, Tools
Accessory Pack, ACC-004, 14.99, true, Accessories
  1. 打开 CSV 转 JSON 转换器,将 CSV 文件拖到上传区域。该工具加载文件,检测逗号分隔符,并立即转换数据。

  2. 检查预览 — 单击"显示预览"查看表格表示。确认表头行已正确解析。

  3. JSON 输出 显示为:

[
  {
    "Product Name": "Widget Pro",
    "SKU": "WDG-001",
    "Price": 29.99,
    "In Stock": true,
    "Category": "Tools"
  },
  {
    "Product Name": "Gadget X",
    "SKU": "GDG-002",
    "Price": 49.95,
    "In Stock": false,
    "Category": "Electronics"
  },
  {
    "Product Name": "Super Tool",
    "SKU": "SUP-003",
    "Price": 99,
    "Category": "Tools"
  },
  {
    "Product Name": "Accessory Pack",
    "SKU": "ACC-004",
    "Price": 14.99,
    "In Stock": true,
    "Category": "Accessories"
  }
]

注意 Price 值是数字(不是字符串),In Stock 值是布尔值,并且"Super Tool"缺少"In Stock"值被省略。

  1. 尝试键转换 — 从键大小写下拉菜单中选择"snake_case"。输出变为:
[
  {
    "product_name": "Widget Pro",
    "sku": "WDG-001",
    "price": 29.99,
    "in_stock": true,
    "category": "Tools"
  }
]
  1. 尝试键控格式 — 选择"按第一列键控"以获取按产品名称索引的对象:
{
  "Widget Pro": {
    "SKU": "WDG-001",
    "Price": 29.99,
    "In Stock": true,
    "Category": "Tools"
  },
  "Gadget X": { ... }
}
  1. 下载结果 — 单击"下载 JSON"将输出保存为 .json 文件,供 Web 应用程序使用。

专业提示

掌握这些技巧,充分利用 Toollect CSV 转 JSON 转换器:

  • 先使用预览:在依赖 JSON 输出之前,始终检查预览表。列不匹配、错误的分隔符或编码问题在表格预览中立即可见

  • 处理前导零:邮政编码、电话号码和 ID 通常有前导零。禁用类型推断以将它们保留为字符串——否则 00123 会变成数字 123

  • 标准化列名:使用键大小写设置将不一致的表头转换为统一格式。对于 API 集成,通常首选 camelCase 或 snake_case

  • 先清理 CSV:删除尾部空行,检查各行的列数是否一致,并确保引用字段使用双引号以获得最佳效果

  • 与其他工具结合:在此处将 CSV 转换为 JSON,然后使用 JSON 格式化器验证和检查结构

替代方案

虽然 Toollect CSV 转 JSON 转换器提供了全面的功能集,但针对不同的使用场景也存在多种替代方案。

工具/方法 最适合 限制
Toollect CSV 转 JSON 转换器 基于浏览器、隐私优先、可自定义的转换 需要从网络加载初始页面
PapaParse(JavaScript 库) 在 Node.js 或浏览器应用中进行程序化 CSV 解析 需要编码,无图形界面
csvkit(命令行) 基于 Python 的 CSV 处理和转换管道 需要安装 Python,仅命令行
在线转换服务 快速的一次性转换 数据上传到服务器,隐私问题
Excel Power Query 在 Excel 内进行 CSV 转 JSON 转换 需要 Excel,限于较小数据集
jq(命令行) 处理来自 CSV 转换的 JSON 输出 需要单独的 CSV 转 JSON 步骤,仅命令行

对于大多数需要快速、私密且功能丰富的 CSV 转 JSON 转换而又不想离开浏览器的用户来说,Toollect 转换器提供了功能性和便利性的最佳平衡。

故障排除

问题 可能的原因 解决方案
JSON 显示"[null]"或空对象 分隔符检测失败或选择了错误的分隔符 从下拉菜单中手动选择正确的分隔符
列值缺失/偏移 字段包含无引号的分隔符字符 在 CSV 源中用双引号括起包含分隔符的字段
带有前导零的数字丢失零 类型推断将它们转换为数值 禁用类型推断以将所有值保留为字符串
"第X行有Y列,预期Z列"错误 各行之间的列数不一致 检查 CSV 中是否有额外/缺失的分隔符;带换行符的引用字段可能跨越多行
预览显示乱码字符 文件编码不是 UTF-8 从电子表格应用程序将 CSV 重新导出为 UTF-8
大文件上传失败 文件超过 10MB 限制 将数据直接粘贴到文本区域而不是上传
JSON 输出为空 输入字段为空或仅包含空白 确保 CSV 数据已正确粘贴
复制按钮无响应 浏览器剪贴板权限 检查浏览器设置;使用 Ctrl+C(Cmd+C)作为备用

技术规格

性能基准

数据大小 处理时间 内存使用
1 KB(10 行) < 1 ms < 1 MB
100 KB(1000 行) < 10 ms < 5 MB
1 MB(10000 行) < 100 ms < 50 MB

技术细节

  • 解析器:自定义 RFC 4180 兼容 CSV 解析器,支持完整的引号/转义处理
  • 类型推断:基于正则表达式检测数字、布尔值、null 值
  • 分隔符检测:对前 10 行进行启发式评分,测试逗号/制表符/分号
  • 输出引擎:原生 JSON.stringify(),支持可配置缩进
  • 文件处理FileReader API,10MB 大小限制
  • 剪贴板navigator.clipboard.writeText(),带 2 秒反馈指示器
  • 下载Blob + URL.createObjectURL() 用于内存中文件生成

浏览器兼容性

浏览器 最低版本 状态
Google Chrome 80+ 完全支持
Mozilla Firefox 75+ 完全支持
Apple Safari 13+ 完全支持
Microsoft Edge 80+ 完全支持
Samsung Internet 13+ 完全支持
Opera 67+ 完全支持

隐私与安全

  • 零数据传输:所有 CSV 处理均在浏览器内存中进行
  • 文件上传通过 FileReader API 在本地读取,从不传输
  • 不使用 cookie、localStorage 或 sessionStorage
  • 工具页面上没有分析或跟踪脚本
  • 无需注册、登录或 API 密钥

功能特色

  • 即时 CSV 转 JSON 转换,实时预览
  • 智能分隔符自动检测,支持手动覆盖
  • 数字、布尔值和 null 值的类型推断
  • 多种输出格式:对象数组、二维数组和键控对象
  • 键大小写转换(camelCase、snake_case、lowercase、UPPERCASE、Capitalize)
  • 可折叠数据预览,在转换前验证您的 CSV

常见问题

什么是 CSV 转 JSON 转换器?
CSV 转 JSON 转换器将以 CSV(逗号分隔值)格式存储的表格数据转换为 JSON(JavaScript 对象表示法)。每一行成为一个对象,每一列成为一个属性。这对于将电子表格数据导入 API、数据库和 JavaScript 应用程序至关重要。
这个 CSV 转 JSON 转换器是免费的吗?
是的,它完全免费,并且完全在您的浏览器中运行。数据永远不会上传到任何服务器。没有使用限制、账户要求或隐藏费用。
如何将 CSV 转换为 JSON?
只需将 CSV 数据粘贴到输入文本区域,或拖放 .csv 文件即可。该工具会自动检测分隔符并实时转换您的数据。您可以通过设置面板自定义分隔符、切换类型推断、选择输出格式等。
我的数据会怎样?
什么也不会发生。所有处理都在您的浏览器中使用 JavaScript 本地完成。您的 CSV 数据永远不会离开您的设备。
我可以自定义分隔符吗?
可以。该工具可以自动检测逗号、制表符和分号。您也可以手动选择分隔符或输入自定义分隔符。当自动检测模式激活时,会显示检测到的分隔符。
它支持大型 CSV 文件吗?
支持,但性能取决于您的浏览器和设备。上传的文件大小限制为 10MB。对于非常大的文件,请将数据直接粘贴到文本区域以进行增量处理。
ESC