CSV 转 JSON
即时将 CSV 数据转换为格式化 JSON——处理引号字段、逗号和换行,100% 在浏览器中运行。
输入
输出
什么是 CSV?
CSV(逗号分隔值)是一种用于存储表格数据的简单文本格式。每行代表一行数据,行中的字段用逗号分隔。第一行通常包含列标题。CSV 是最古老、最广泛支持的数据格式之一——每个电子表格应用程序、数据库工具和编程语言都可以读写它。
尽管简单,CSV 有一些处理特殊情况的规则。包含逗号、引号或换行符的字段必须用双引号括起来,引号字段内的引号通过重复来转义。此解析器实现了标准 CSV 引号规则(RFC 4180),因此可以正确处理包含嵌入逗号、换行符和引号的字段。
CSV 与 JSON
CSV 和 JSON 用途不同。CSV 适用于扁平的表格数据——它紧凑、人类可读,并被电子表格工具普遍支持。JSON 更适合嵌套的层次数据,是 Web API 和现代应用程序的标准格式。将 CSV 转换为 JSON 使表格数据更易于在 JavaScript、API 和 NoSQL 数据库中使用。
关键区别在于结构:CSV 始终是扁平表格(行和列),而 JSON 可以表示数组和嵌套结构。使用表头将 CSV 转换为 JSON 时,每行成为一个以表头名称为键的对象。不使用表头时,每行成为一个值数组。
何时将 CSV 转换为 JSON
将 CSV 转换为 JSON 在许多场景中有用:
- Web API 准备。将电子表格数据转换为 JSON 以用于 Web 应用程序或 API。
- 数据迁移。将表格数据从电子表格或数据库移动到基于 JSON 的系统如 MongoDB。
- 配置文件。将表格配置数据转换为 JSON 格式以用于 JavaScript 应用程序。
- 数据分析。将 CSV 数据加载到期望 JSON 的基于 JavaScript 的分析工具或图表库中。
- 原型设计。快速将电子表格中的样本数据转换为 JSON 用于原型设计和测试。
如何将 CSV 转换为 JSON
使用本工具将 CSV 转换为 JSON 只需一秒钟,完全在浏览器中完成。请按以下步骤操作:
- 设置选项。如果 CSV 的第一行包含列名,请勾选"Has Header Row"。如果 CSV 没有表头,请取消勾选。
- 粘贴 CSV。在输入框中点击并粘贴 CSV 数据。解析器处理引号字段、嵌入逗号和多行字段。
- 点击"转换"并复制。JSON 输出出现在输出框中。点击"复制"或"下载"保存它。
使用表头时,每行成为一个对象如 {"name":"Alice","age":"30"}。不使用表头时,每行成为一个数组如 ["Alice","30"]。所有值都被视为字符串——如果需要,可以在代码中将它们转换为数字或布尔值。
处理引号字段和特殊字符
此解析器实现了 RFC 4180 标准的 CSV 引号规则。如果字段包含逗号、换行符或双引号,它必须用双引号括起来。引号字段内的双引号通过重复来转义。例如,字段 He said "hello" 在 CSV 中写为 "He said ""hello"""。解析器能正确处理这些情况。
请注意,JSON 输出中的所有值都是字符串,即使它们看起来像数字或布尔值。这是因为 CSV 不携带类型信息——每个字段都是文本。如果需要类型化值,可以在代码中对 JSON 进行后处理,将数字字符串转换为数字,将"true"/"false"转换为布尔值等。该工具还处理不同的行尾(\n、\r\n)并自动修剪空的尾随行。
这个 CSV 转 JSON 转换器免费吗?
是的,完全免费,无需注册,除设备内存外无任何限制,无需上传——一切本地运行。
处理包含逗号和引号的字段吗?
是的。解析器实现了 RFC 4180 标准 CSV 引号规则。当包含逗号、换行符或引号的字段用双引号括起来时,会被正确处理。
数字会被转换为 JSON 数字吗?
不会。CSV 不携带类型信息,因此所有值都作为字符串输出。您可以在解析后在代码中将它们转换为数字或布尔值。
我的数据会被上传吗?
不会,所有转换均在本地进行。您的 CSV 数据永远不会离开浏览器。