输入
就绪
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输入统计信息可通过此字段上方的“统计”按钮查看。
输出
行数: 0
单词数: 0
字符数: 0
大小: 0 KB
输出统计信息可通过此字段上方的“统计”按钮查看。
结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。
这个工具能做什么
SQL 转 JSON 转换器读取 SQL INSERT 语句,并把插入的行以 JSON 数组形式返回。每条 INSERT 的列清单成为对象的键,VALUES 子句中的每一行成为一个对象。
数字保持为数字,带引号的字符串变成 JSON 字符串,NULL 变成 null,因此结果可以直接用于脚本、测试数据或 API 请求。多条 INSERT 语句和多行 VALUES 列表会合并成一个数组。
适用场景
- 手上有一段数据库转储,需要把这些行作为数据用在 JavaScript、Python 或 REST 调用中。
- 把 seed 文件或迁移文件转换成单元测试使用的 JSON 数据。
- 在运行脚本之前检查它将插入什么,然后用 JSON 转 CSV 转换器 导出同样的行。
- 在没有通用导出格式的两个数据库之间迁移少量行,用 JSON 作为中间步骤。
示例
输入
INSERT INTO users (id, name, email) VALUES
(1, 'Ana', 'ana@example.com'),
(2, 'Ben', 'ben@example.com');
输出
[
{
"id": 1,
"name": "Ana",
"email": "ana@example.com"
},
{
"id": 2,
"name": "Ben",
"email": "ben@example.com"
}
]关于这个工具的问题
支持哪些 SQL 语句?
支持带列清单的 INSERT INTO ... VALUES 语句,包括一条语句插入多行的情况。SELECT、UPDATE、CREATE TABLE 和存储过程不是数据,因此不会被转换。
能处理完整的数据库转储吗?
可以,只要转储使用普通的 INSERT 语句并且不超过 5 MB。表结构语句会被跳过;非常大的转储建议一次转换一张表。
如果 INSERT 没有列清单怎么办?
那样就没有可作为 JSON 键的名称,转换器会提示无法解析该语句。请加上列清单,例如 INSERT INTO users (id, name) VALUES ...,然后重新转换。