为什么需要 JSON 转 SQL
接口返回或 Mock 文件常是「对象数组」,测试库却要 INSERT。手工拼引号慢且易错。ComTools JSON 转 SQL(Tools/Json/ToSql)在浏览器本地把数组转成多条 INSERT 语句。
若数据在 Excel / CSV 里,更推荐功能更全的 Excel 转 SQL(多方言、批量 INSERT、UPDATE/DELETE)。
输入要求
| 要求 | 说明 |
|---|---|
| 根类型 | 对象数组最理想;单个对象会按一行处理 |
| 列名 | 取第一行对象的键作为列清单 |
| 空数组 | 输出 -- No rows |
| 表名 | 默认 MyTable(生成后请改成真实表名) |
值如何写入 SQL
| JSON 值 | SQL |
|---|---|
null / 缺省 |
NULL |
| 数字 | 不加引号 |
| 字符串 / 布尔等其它 | 单引号包裹,' → '' |
使用步骤
- 打开 JSON 转 SQL。
- 粘贴 JSON 数组(先 校验 / 格式化 更稳)。
- 点击 运行,复制生成的
INSERT。 - 将
MyTable替换为实际表名,在测试库执行。
示例
输入:
[
{ "Id": 1, "Name": "Alice", "City": "Beijing" },
{ "Id": 2, "Name": "O'Brien", "City": null }
]
输出示意:
INSERT INTO MyTable (Id, Name, City) VALUES (1, 'Alice', 'Beijing');
INSERT INTO MyTable (Id, Name, City) VALUES (2, 'O''Brien', NULL);
常见场景
| 场景 | 做法 |
|---|---|
| API 样例灌测试库 | 复制响应数组 → 转 SQL |
| 前端 Mock 同步到 DB | 同上 |
| Excel 大表导入 | 用 Excel 转 SQL |
| 只要 IN 列表 | 文本转 SQL |
| 行数据少量粘贴 | 生成 INSERT |
与 Excel 转 SQL 对比
| 能力 | JSON 转 SQL | Excel 转 SQL |
|---|---|---|
| 输入 | JSON 文本 | xlsx / csv 上传 |
| 语句类型 | 主要为 INSERT | INSERT / UPDATE / DELETE / SELECT |
| 数据库方言 | 通用 INSERT 文本 | SQL Server / MySQL / PostgreSQL 等 |
| 批量合并 INSERT | 否(每行一条) | 支持批量 |
| 处理位置 | 浏览器本地 | 服务端解析文件 |
注意事项
- 后续对象多出的键不会自动进列清单;请保证数组元素字段一致,或以最全的对象为第一项。
- 布尔会落成带引号的文本(如
'true'),若库列为 bit,请改脚本或先规范化数据。 - 嵌套对象/数组不宜直接 INSERT;先压平或只保留标量字段。
- 生产库执行前备份,并在测试库核对行数。
相关文章
常见问题
Q:能否改表名?
A:生成后全局替换 MyTable;或改源码默认值前在输出里替换即可。
Q:支持 UPDATE/DELETE 吗?
A:本工具侧重 INSERT;改删请用 Excel 转 SQL。
Q:中文表头作列名?
A:可以,但建议与数据库字段一致,或生成后批量替换列名。