[{"姓名":"张三","年龄":28}]。字段不一样长也没关系,缺的列会自动补空照样能转。工具会先把所有行里出现过的字段名按先后顺序收集起来排成表头,然后每行按同一套列填进去,哪行没这个字段就留空。所以第一行有「备注」后面几行没有,表格里那几格就是空的。想反过来只保留每行都有的字段,勾上「只保留每行都有的列」。
不会。按 CSV 的通行规则处理:内容里有分隔符、换行或者引号时,整个值用双引号包起来,里面的双引号写成两个(他说:"好" 变成 "他说:""好"""),有换行也照原样留在引号里。选中「都不加」可以强行不加引号,但那样含逗号的格子在 Excel 里会错位,页面会提醒你有多少格有这种情况。
多半是没带 BOM。Windows 版 Excel 打开 UTF-8 的 CSV 时,如果不带 BOM 就会按本地编码猜,中文就成了乱码。本工具下载的 CSV 默认带 UTF-8 BOM,双击就能正常显示;「复制结果」复制的是纯文本、不含 BOM,粘到 Excel 里一样正常(Excel 按 Unicode 粘贴)。
Excel 复制出来的内容用制表符分列,不是逗号。选「自动判断」时工具会看逗号、制表符、分号、竖线里哪个能把行列分得最齐,选中「制表符 Tab」也可以直接指定。判断结果会写在下方的提示里。
默认会。纯数字转成 JSON 数字,true / false 转成真假值,其余一律当字符串。超过 15 位的数字仍按字符串保留——Excel 本身也只有 15 位有效数字,再多就会四舍五入,保留文本才不会丢。带前后空格的内容一律当字符串。想要全部原样保留成字符串,把「自动识别数字和真假值」关掉即可。
CSV 里只有「空格子」,没有 null 这种类型,所以默认转出来是空字符串。确实需要 null(比如拼接口参数)时,勾上「空格子转成 null」。
默认对象展平:{"收货地址":{"省":"浙江"}} 会变成一列 收货地址.省。数组有两种处理:默认把整个数组按 JSON 原文存进一格(["零售","加急"]),这样列数不会炸开;选「对象和数组都展平」则变成 标签[0]、标签[1] 各占一列。选「全部保持 JSON 原文」则对象和数组都原样保留成一格 JSON 文本。
这种 JSON 一般是「外层是元数据、中间是记录数组」的样子,比如 {"code":200,"pagination":{...},"data":{"users":[...]}}。工具会把里面的记录数组找出来,在转换选项里多出一个「行数据来源」下拉框,写明每段各有几条记录,选哪一段就按哪一段一行一条地铺开;默认选第一条。外层的 code、pagination.page 这些也跟着摊平成额外的列,每行都带着,方便筛选。换个下拉选项就换一段记录,结果立刻重出。
不会。空的数组、空的对象在表格里是空格子,不会写成 [] 或 {}——那两种写法在 Excel 里看着像普通文字,容易被误当成真的内容。转换结果下方的提示里会告诉你这份 JSON 里有几处空数组空对象。
不会。数字按你在 JSON 里写的原样输出:1299.50 就还是 1299.50,不会变成 1299.5;超过 15 位的整数也一字不差,不会被四舍五入。(这是靠浏览器 JSON 解析器给到的原文写法做到的,老浏览器不支持时退回普通解析,数字仍会照常显示,只是 1299.50 这种写法会变成 1299.5。)
分两种情况:直接粘贴进文本框的,浏览器输入框本身会把换行统一成 LF(这是网页输入框的固有行为,所有网页编辑器都一样),转换结果里也是 LF;用文件读进来的按原样处理,格子里是 CRLF 还是 LF 都原封不动,不会被改。
行。单个对象会当成只有一行的表格;如果对象里藏着「一组记录」那样的数组(比如接口返回 {"data":[...]},或者 {"pagination":{...},"data":{"users":[...]}}),就按数组里的记录一行一条铺开,外层字段摊平成额外的列,下拉框里可以换用哪一段。数组里全是数组([[1,2],[3,4]])时按原样转成二维表,列名自动编号。
页面会直接告诉你是第几行第几列出错的,并把浏览器给的那句英文原话附在后面。比如少一个逗号或多一个逗号、多写一个右括号,一眼能看出来错在哪。粘进来的是一整段 JSON 时,错在中间的行也能算准行号。
把结果再转回去,和原表格逐格比一遍。JSON→CSV 时是拿生成的 CSV 重新解析回来比;CSV→JSON 时是拿生成的 JSON 再拼回 CSV 比。哪一格不一样会指出第几行第几列。比如 CSV 里写的是 1.50,转成 JSON 数字再拼回来就变成 1.5,这属于正常的信息变化,不是出错。
不会。整个页面是单个 HTML 文件,解析、转换、预览全在你的浏览器里完成,贴进来的内容一个字节都没有发出去。刷新或关掉标签页,内容就不在了。(本站只统计页面被打开的次数,用的是一个 1×1 像素的计数请求,里面不含任何数据内容。)
没有写死的上限,取决于你这台设备还剩多少内存。整份内容要先读进浏览器再转换。本机实测:5 万行(约 8 MB)的 JSON 转成 CSV 约 0.3 秒,1.4 MB 的 CSV 转成 JSON 约 0.4 秒,十几 MB 的文件也在一秒内。真正会卡的是几百 MB 这种量级,浏览器可能直接拒绝。数据量真大的时候建议改用命令行工具。