做Excel表格时,常要从网页、API或爬虫里导出JSON格式的数据,再转成表格。但一粘贴就报错?表格里突然多出一堆undefined、null,或者字段全乱套?十有八九,是原始JSON本身就有问题——缺引号、逗号写错位置、括号没配对……肉眼根本看不出。
别急着重写,先用在线校验器“照个X光”
推荐一个实测好用的免费工具:JSONLint(国内可直连)或 json.cn。打开网页,把你的JSON文本直接粘进去,点“校验”或“格式化”。它会立刻告诉你哪一行哪个字符出错,比如:
{"name":"张三","age":28,"city":"上海"}看着没问题?但如果少了个引号:
{"name":"张三","age":28,"city":上海"}校验器马上标红第1行第23位,并提示:Unexpected token '在' in JSON at position 23——原来“上海”漏了开头引号。
表格人最常踩的3个JSON坑
① 中文引号混入:从微信、Word复制过来的JSON,常把英文双引号"变成中文全角“”,校验直接失败。
② 末尾多逗号:像这样:
[{"id":1,"val":"a"}, {"id":2,"val":"b"},]最后那个逗号,在JavaScript里可能被容忍,但Excel Power Query 或 Python pandas 读取时会直接报错。③ 换行和空格藏控制符:从某些后台导出的JSON,表面看着整齐,实际含不可见的 (行分隔符)或 混用,校验器能一眼揪出来。
校验完顺手格式化,表格导入更省心
校验通过后,点“格式化”,JSON立马变成缩进清晰、换行分明的样子。这时候再复制进Excel的“数据→从文本/CSV→粘贴JSON”,Power Query预览窗口就能正确识别层级;或者用WPS的“插入→JSON数据”,字段名自动变成表头,不用手动拆列、填空、补缺失值。
小技巧:如果JSON里嵌套了数组(比如一个人有多个电话),校验+格式化后,Power Query会自动给你展开成多行,比手动“填充”“分列”快得多。
下次表格又莫名其妙断掉、字段错位、数值变0,别急着删重做——先把那段JSON丢进 json.cn,3秒看清病根在哪。