将 CSV 转换为 JSON:类型解析、嵌套对象和标头处理

对于简单数据,CSV 到 JSON 的转换非常简单,但需要仔细处理引号逗号、嵌入换行符、数据类型推断和缺失值,以生成有效、可用的 JSON。

CSV spreadsheet data being converted to structured JSON object format with type parsing

CSV 和 JSON:它们是什么以及何时使用

Delimited CSV flat table versus structured JSON array of objects comparison

CSV(逗号分隔值): 一种基于行的平面文本格式,非常适合具有统一结构的表格数据 - 电子表格、数据库导出、报告。每行都有相同的列。易于在 Excel 中打开。不支持嵌套数据。

JSON(JavaScript 对象表示法): 一种分层嵌套数据格式,非常适合 API、配置文件和具有复杂结构的数据。支持对象数组、嵌套对象和类型化数据(数字、布尔值、null)。

何时将 CSV 转换为 JSON:

  • 将电子表格中的数据输入 REST API
  • 在 Node.js 应用程序中处理 Excel 导出
  • 转换产品目录数据以在 React 应用中使用
  • 将数据导入文档数据库,例如MongoDB

类型解析:数字、布尔值和空值

Reconstructing nested JSON object structures from dot-separated CSV headers

Automatic data type parsing engine classifying strings into numbers, booleans, and nulls

CSV 没有数据类型 — 一切都是字符串。 JSON 支持多种类型。自动类型解析转换:

CSV 值无解析有解析
42“年龄”: "42"“年龄”: 42
3.14“价格”: "3.14"“价格”: 3.14
真“有效”: “真”“有效”: true
false“可用”: “假”“可用”: false
(空)“注释”: ""“注释”:空

对于大多数 API 使用案例,启用类型解析,以便在 JSON 输出中正确键入数字 ID、价格和布尔标志。


处理边缘情况:引用字段、逗号、换行符

CSV delimiter matrix comparing comma, semicolon, and tab separated values

字段值内的逗号:

name,address
"Smith, John","123 Main St, Apt 4"

两个字段都正确地用引号引起来。嵌入的逗号不是字段分隔符。

带引号字段内的引号: 根据 RFC 4180,文字双引号由两个连续双引号表示:

"He said ""hello""","Boston"

解析为:他说“你好”/波士顿

字段值内的换行符:

name,bio
"Alex","Software engineer.
Loves coding."

嵌入的换行符是字段值的一部分 - 第二行不是新的 CSV 行。


分步:在 ToolDolfen 上将 CSV 转换为 JSON

ToolDolfen in-browser CSV to JSON converter utility workflow pipeline

  1. 打开 CSV转JSON数据转换器 (CSV to JSON) 转换器。
  2. 粘贴您的 CSV 数据或上传 .csv文件。
  3. 配置:

- 分隔符: 逗号(默认)、分号、制表符或竖线 - 标题行: 第一行 = 字段名称(推荐) - 类型解析: 自动转换数字和布尔值

  1. 点击转换。
  2. 在格式化程序中查看 JSON 输出。使用 JSON格式化与校验工具进行验证。
  3. 复制或下载 JSON 数据。

推荐配套指南

从此主题群中探索补充教程和实用程序,以增强您的数字工作流程:

将嵌套 JSON 转换为平面 CSV:处理复杂数据结构具有经过验证的标准和浏览器内的实用分步教程工作流程。现代 Favicon 指南:ICO、PNG、SVG 和 Web 应用程序清单包含经过验证的标准和浏览器内的实用分步教程工作流程。如何在浏览器中格式化和缩小大型 JSON 文件具有经过验证的标准和浏览器内的实用分步教程如何在线将 STL 转换为 GCODE格式转换指南:将 3D 模型切片为 FDM 打印机指令。
推荐实用程序:CSV 到 JSON在浏览器中实时执行此工作流程,服务器上传量为零,客户端隐私为 100%。
CSV转JSON数据转换器 (CSV to JSON)
CSV转JSON数据转换器 (CSV to JSON)

常见问题解答 (FAQ)

查看关于此操作流程常见问题的快速与权威解答。

JSON 转换中如何使用 CSV 标头?

CSV 标题(第一行)成为 JSON 对象键。每个后续 CSV 行都会成为一个带有键值对的 JSON 对象,其中键是标题。如果您的 CSV 没有标题行,转换器可以使用数字索引(0、1、2...)作为键。

转换器如何处理 CSV 字段值中的逗号?

RFC 4180(CSV 标准)指定包含逗号的字段必须用双引号引起来。通过将引用的内容转换为单个字段,可以正确处理格式正确的 CSV 字段(例如“Smith, John”)。

自动类型解析有什么作用?

自动类型解析将 CSV 字符串值转换为适当的 JSON 类型。 '42' 变为 42(数字),'true' 变为 true(布尔值),'' 变为 null。如果没有类型解析,所有值都是字符串:{ "age": "42" } 而不是 { "age": 42 }。

Bilal Ahmad