ZeroTool Workbench
CSV JSON 转换器
即时进行 CSV 与 JSON 格式互转。支持引号字段,自动识别表头。免费在线工具,纯浏览器端运行。
使用方法
- CSV → JSON:将带表头的 CSV 数据粘贴到左侧面板,点击 CSV → JSON 按钮。
- JSON → CSV:将 JSON 对象数组粘贴到右侧面板,点击 JSON → CSV 按钮。
- 点击面板上的 Copy 按钮,将结果复制到剪贴板。
- 按钮下方的状态栏会显示转换行数或解析错误信息。
转换示例
简单表格
输入 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 运行,数据不会离开您的设备。