第一行作为表头生成对象键;字段含逗号、引号或换行时请用英文双引号包裹(RFC 4180)。
所有处理都在你的浏览器本地完成,表格数据不会上传。「⇅ 结果回填」会把输出放回输入框并自动切换转换方向,方便往返核对。
转换结果将显示在这里。
同一份表格数据在两种格式里的写法。
| 对比项 | CSV | JSON(对象数组) |
|---|---|---|
| 示例 | name,age
张三,18 | [{"name":"张三","age":18}] |
| 表头 | 第一行文本 | 每个对象的键 |
| 数据类型 | 全是文本 | 数字 / 布尔 / null / 字符串 |
| 嵌套结构 | 不支持,只能拍平 | 支持对象、数组任意嵌套 |
| 常见用途 | Excel / 数据库导出 | 接口、程序间数据交换 |
| 特殊字符 | 双引号包裹," 写成 "" | 用 \" 转义 |
表格和层级数据不是完全对等的,以下规则需要了解。
| 问题 | 说明 |
|---|---|
| 分隔符自动识别 | 默认取前 10 行统计 , ; Tab | 出现次数与一致性来判断;识别不准时手动指定即可。Excel 导出的 CSV 常用逗号或分号(与系统区域设置有关)。 |
| 类型推断的边界 | 开启推断后,18→数字、true→布尔、null→null;但 007、010-8888 这类前导零号码保持字符串,避免丢失零。需要严格保留文本时选「全部按字符串」。 |
| 空表头与重名表头 | 表头为空时自动命名为 col1、col2…;重名表头自动加后缀(如第二个 name 变 name_2),保证对象键唯一。 |
| JSON 嵌套值转 CSV | CSV 只能存平铺表格:JSON 里的对象/数组值会被序列化成 JSON 文本放进单元格;null/undefined 输出为空单元格。 |
| 支持的 JSON 形态 | JSON → CSV 接受:对象数组 [{...}]、二维数组 [["a","b"]]、含数组字段的包装对象(如 {"data":[...]},取第一个数组字段)、单个对象(按一行处理)。 |
⚠️ 本工具仅在浏览器本地解析并重新生成文本,不会上传、保存你粘贴的任何表格数据。
CSV 只有文本类型,类型推断可能与预期不同;JSON 中的嵌套结构转 CSV 时会退化为 JSON 文本。重要数据请先在 Excel / 编辑器里核对后再使用。
从 Excel、数据库导出的 CSV 往往要喂给接口或写进代码,而接口返回的 JSON 数组又经常要导回表格。
这个工具把两个方向都做扎实:
① CSV → JSON:首行作表头生成对象数组,或整表生成二维数组;正确处理双引号转义、字段内逗号与换行、CRLF、UTF-8 BOM;
② JSON → CSV:接受对象数组、二维数组、{"data":[...]} 包装与单对象,自动收集全部键做表头,缺失键留空;
③ 分隔符:自动识别逗号、分号、Tab、竖线,也可手动锁定;
④ 类型推断:数字、true/false、null 自动识别,前导零号码保持文本;
⑤ 可下载:CSV 结果下载为 .csv(Excel 可直接打开),JSON 结果下载为 .json。
处理流程:
① 词法解析 CSV:逐字符状态机,区分“引号内 / 引号外”,正确处理 "字段" 包裹、"" 转义、字段中的分隔符与换行(含 \r\n),并剥离文件开头的 UTF-8 BOM;
② 分隔符识别:自动模式统计前 10 行中候选分隔符(, ; Tab |)在引号外的出现次数与各行一致性,取最可能的一个;
③ 结构化:对象模式以首行为键(空表头补 colN、重名加后缀),其余行映射为对象,可按选项对单元格做类型推断;二维数组模式保留所有行;
④ 反向生成:JSON 先归一化(对象数组 / 二维数组 / 包装对象 / 单对象),对象数组收集并集键作表头,按 RFC 4180 转义后以 CRLF 输出,Excel 打开不乱列。
colN、重名表头加后缀;JSON 侧接受对象数组、二维数组、{"data":[...]} 包装与单对象;支持复制、下载 .csv/.json 与结果回填。纯浏览器本地运行,适配黑夜模式。
007、010-88888888 这类含前导零或非纯数字的内容会保留为字符串。若需要所有单元格都保持文本,把「类型推断」切到「全部按字符串」后重新转换即可。""),例如 "他说:""你好,世界"""。解析器是逐字符状态机,引号内的逗号与换行都视为字段内容。JSON.stringify 成一段文本放进对应单元格(如 {"city":"北京"} 或 [1,2]),回 JSON 时它只是一个字符串,不会自动还原成对象。需要层级数据时建议保留 JSON 格式。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!