CSV JSON 转换器
即时进行 CSV 与 JSON 格式互转。支持引号字段,自动识别表头。免费在线工具,在浏览器中处理。
- 在浏览器中处理
- 数据不离开你的设备
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
转换示例
简单表格
输入 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 面板,停止输入 0.3 秒后会自动转换为 CSV。
支持的 CSV 格式
本工具遵循 RFC 4180 标准。字段以逗号分隔。
若字段中包含逗号、换行符或双引号,则必须用双引号包裹。
引号字段内的双引号以两个连续双引号("")转义。
第一行始终作为列标题解析。
边界情况:本工具怎么处理
空字段。 下面这份 CSV 里,Bob 没有 email,第 3 行没有 name:
id,name,email
1,Alice,alice@example.com
2,Bob,
3,,charlie@example.com
默认情况下空字段转成 ""。勾选「空字段 → null」则转成 null:
[
{ "id": 1, "name": "Alice", "email": "alice@example.com" },
{ "id": 2, "name": "Bob", "email": null },
{ "id": 3, "name": null, "email": "charlie@example.com" }
]
类型推断。 勾选「推断数字和布尔值」(默认勾选)时,未加引号的 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 运行,数据不会离开您的设备。