Excel 转 JSON 的核心规则是:表头变成字段名,每一行变成一个 JSON 对象。
[
{
"name": "Alice",
"email": "alice@example.com",
"active": true
}
]转换前最好整理表格
- 第一行作为字段名,避免空表头和重复表头。
- 每一列只放一种类型的数据,例如不要混用数字和说明文字。
- 日期列要确认是否需要保留为文本,还是转成日期字符串。
- 删除合并单元格、注释行和统计行,避免混入 JSON。
- 如果有多个 Sheet,先确认工具读取哪一张表。
如何表达嵌套字段?
很多接口需要嵌套对象,而 Excel 天然是二维表。比较常见的做法是在表头中使用路径式字段名,例如 user.name、user.email、order.id。转换时再把这些路径还原成嵌套 JSON。
[
{
"user": {
"name": "Alice",
"email": "alice@example.com"
},
"order": {
"id": "A-1001",
"total": 59.9
}
}
]| Excel 表头 | JSON 结果 | 适合场景 |
|---|---|---|
| user.name | user: { name: ... } | 用户资料、联系人信息 |
| order.total | order: { total: ... } | 订单、报价、结算数据 |
| tags | tags: ... | 简单标签列,可后续拆成数组 |
| address.city | address: { city: ... } | 地址、地区、配送信息 |
空值、日期和数字要特别小心
Excel 看起来像文本的内容,底层可能是数字、日期序列值或带格式的单元格。比如身份证号、手机号、邮编这类字段不应该当数字处理,否则前导零可能丢失;金额字段则要确认小数精度是否满足业务要求。
- ID、手机号、邮编建议在 Excel 中按文本保存。
- 金额、数量、比例字段转换后要抽查小数位。
- 日期最好统一成 yyyy-mm-dd 或 ISO 字符串,再交给接口处理。
- 空单元格要确认是保留 null、空字符串,还是直接省略字段。
常见问题
| 问题 | 原因 | 建议 |
|---|---|---|
| 字段名很奇怪 | 表头含空格、换行或重复名称 | 先规范表头 |
| 数字变成文本 | Excel 单元格格式不统一 | 转换后抽查关键字段 |
| 空值丢失或变空字符串 | 空单元格处理规则不同 | 根据接口要求统一处理 |
| 日期不符合预期 | Excel 日期本质上可能是序列值 | 提前转为文本日期 |
导入接口前的检查清单
- 先转换少量样本,确认字段名和嵌套结构正确。
- 用 JSON 格式化工具检查输出是否为合法 JSON。
- 随机抽查首行、中间行和最后一行,避免空行或统计行混入。
- 对照接口文档确认必填字段、字段类型和日期格式。
- 正式导入前保留原始 Excel 文件,方便回溯。