输入
就绪
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输入统计信息可通过此字段上方的“统计”按钮查看。
输出
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输出统计信息可通过此字段上方的“统计”按钮查看。
结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。
这个工具能做什么
JSON 转 SQL 转换器把 JSON 对象数组转换成 SQL INSERT 语句,每个对象生成一条。键成为列名并用反引号括起来,值则写成 SQL 字面量。
数字按原样写出,true 和 false 变为 1 和 0,文本用单引号括起来,其中的撇号会被双写(O'Brien 变成 'O''Brien')。与 JSON 转 CSV 转换器一样,嵌套对象会被展平为用下划线连接的列名。表名始终是 converted_data,执行语句之前请把它替换成你自己的表名。
适用场景
- 用 JSON fixture 为开发或测试数据库填充初始数据。
- 把 API 的少量导出数据迁移到 MySQL 或 MariaDB。
- 编写迁移脚本或运维支持脚本时,需要几行 SQL 形式的数据。
示例
输入
[
{"id": 1, "name": "O'Brien", "active": true},
{"id": 2, "name": "Ana", "active": false}
]
输出
INSERT INTO converted_data (`id`, `name`, `active`) VALUES (1, 'O''Brien', 1);
INSERT INTO converted_data (`id`, `name`, `active`) VALUES (2, 'Ana', 0);关于这个工具的问题
哪些数据库能使用输出结果?
用反引号括起的列名是 MySQL 和 MariaDB 的语法。如果用于 PostgreSQL 或 SQL Server,请把反引号换成双引号或方括号。
它会创建表吗?
不会。它只生成 INSERT 语句。表必须事先存在,并且具有相匹配的列。
可以把 INSERT 语句转回 JSON 吗?
可以,使用 SQL 转 JSON 转换器。SQL 格式化工具能让冗长的语句更易读。