ZeroTool Workbench

CSV JSON 转换器

即时进行 CSV 与 JSON 格式互转。支持引号字段,自动识别表头。免费在线工具,纯浏览器端运行。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册

使用方法

  1. CSV → JSON:将带表头的 CSV 数据粘贴到左侧面板,点击 CSV → JSON 按钮。
  2. JSON → CSV:将 JSON 对象数组粘贴到右侧面板,点击 JSON → CSV 按钮。
  3. 点击面板上的 Copy 按钮,将结果复制到剪贴板。
  4. 按钮下方的状态栏会显示转换行数或解析错误信息。

转换示例

简单表格

输入 CSV:

name,age,city
Alice,30,London
Bob,25,Paris

输出 JSON 包含每行对应的 name、age、city 字段的对象。

含逗号的引号字段

输入 CSV:

product,description,price
Widget,“Small, round widget”,9.99
Gadget,“Includes ""turbo"" mode”,24.50

description 字段包含逗号和转义引号——均可正确处理。

JSON 转回 CSV

将 JSON 输出粘贴到右侧面板,点击 JSON → CSV 即可将数据往返转换。

支持的 CSV 格式

本工具遵循 RFC 4180 标准。字段以逗号分隔。 若字段中包含逗号、换行符或双引号,则必须用双引号包裹。 引号字段内的双引号以两个连续双引号("")转义。 第一行始终作为列标题解析。

边界情况:本工具怎么处理

空字段。 下面这份 CSV 里,Bob 没有 email,第 3 行没有 name:

id,name,email
1,Alice,[email protected]
2,Bob,
3,,[email protected]

默认情况下空字段转成 ""。勾选「空字段 → null」则转成 null:

[
  { "id": 1, "name": "Alice", "email": "[email protected]" },
  { "id": 2, "name": "Bob", "email": null },
  { "id": 3, "name": null, "email": "[email protected]" }
]

类型推断。 勾选「推断数字和布尔值」(默认勾选)时,未加引号的 true、false、null(不区分大小写)转成 JSON 字面量,数字转成 JSON 数字。有三类值保持字符串,避免信息丢失:加了引号的字段("42")、以 0 开头的值(007、0123),以及超出 JavaScript 安全整数范围(大于 2^53 − 1)的整数,比如很长的订单号。

表头。 第一行固定当作表头。没有表头的 CSV 需要先补一行表头。两列同名时,后一列会覆盖前一列,请先改名。超出表头列数的字段会被丢弃,缺少的尾部字段按空值处理。

分隔符。 只识别逗号。分号或制表符分隔的文件请先转成逗号分隔。

JSON → CSV。 输入必须是对象数组。列取所有对象里出现过的键,按首次出现的顺序排列;某行没有这个键就留空。嵌套对象展开成 user.name 这样的点路径列(与 pandas json_normalize 的列名规则相同),数组和空对象写成 JSON 文本,null 写成空字段:

[
  { "id": 1, "user": { "name": "Alice", "city": "London" }, "tags": ["admin", "ops"], "manager": null },
  { "id": 2, "user": { "name": "Bob" } }
]
id,user.name,user.city,tags,manager
1,Alice,London,"[""admin"",""ops""]",
2,Bob,,,

把这份 CSV 再转回 JSON 时不会还原嵌套:user.name 仍是一个扁平的键,数组仍是字符串。

FAQ

支持什么 CSV 格式?

标准 RFC 4180 CSV:逗号分隔值,支持双引号转义。引号字段中可包含逗号、换行符和转义引号。

表头如何处理?

CSV 的第一行始终作为表头。之后每一行都会转换为以表头为键的 JSON 对象。

有文件大小限制吗?

没有硬性限制——所有处理都在浏览器中完成。实际使用中,几 MB 以内的文件可以即时转换;更大的文件取决于设备性能。

数据会发送到服务器吗?

不会。所有转换完全在浏览器中通过 JavaScript 运行,数据不会离开您的设备。