导出JSON文件需通过「导出数据」向导并选“JSON文件”格式,复制为JSON仅限剪贴板调试;常见失败因路径含中文、权限不足、JSON字段非法或误勾列标题。

能导,但要注意“导出”和“复制为JSON”是两套路径,用途完全不同——前者生成文件,后者只进剪贴板;选错就白操作。
导出JSON文件:走「导出数据」向导
这是真正生成 .json 文件的正路,适合交付、存档或喂给脚本。关键在格式选择和参数控制:
- 右键表 → 选择
导出数据,不是“编辑表”或“复制” - 在导出向导第二步“输出设置”中,
格式必须选JSON文件(不是“JSON”或“JSON (pretty)”等模糊选项) -
编码建议固定设为UTF-8,避免中文字段乱码 -
NULL值表示默认为空字符串,若需显式写成null,得手动填入null(注意不带引号) - 勾选
导出数据,别误勾导出DDL——后者只导建表语句,不导记录
复制为JSON:仅限临时调试,不落地
这个操作不生成文件,只把当前结果集转成 JSON 字符串塞进剪贴板,适合快速粘贴到 Postman 或浏览器 console 测试:
- 右键查询结果面板空白处 →
高级复制→copy as JSON - 它会按行生成数组,每行一个对象,无缩进、无换行,例如:
[{"id":1,"name":"张三"},{"id":2,"name":"李四"}] - 不支持嵌套结构、不处理 BLOB/JSON 类型字段(直接丢弃或报错)、无法控制日期格式
- 若结果集超过几千行,DBeaver 可能卡死或只复制前 N 行——这不是 bug,是设计限制
JSON 导出常见失败原因
导出按钮点了没反应,或生成空文件,大概率是这几个点卡住了:
-
保存路径包含中文或空格,尤其 Windows 下某些版本对C:\Users\张三\Downloads路径解析异常,建议用纯英文路径如D:\export - 目标目录无写入权限(比如导出到
Program Files或系统盘根目录),DBeaver 不报错,只静默失败 - 表里有
JSON类型字段(MySQL 5.7+/PostgreSQL),DBeaver 默认把它当字符串处理,但若字段值本身非法 JSON,整个导出会中断——先用SELECT * FROM t WHERE json_valid(col)=0排查 - 导出时勾了
压缩结果却没装 ZIP 插件(极少见,但老版本 Linux 包可能缺依赖)
导出后 JSON 文件结构不可控?看这个开关
DBeaver 的 JSON 导出默认是扁平数组,不带外层包装,也没元数据。如果需要 {"data":[...], "count":123, "timestamp":"..."} 这类结构,它做不到——这不是配置问题,是功能缺失。你只有两个选择:
- 导出后用脚本二次加工(比如 Python +
jq) - 改用 SQL 查询拼接:例如 MySQL 用
JSON_OBJECT('data', JSON_ARRAYAGG(JSON_OBJECT('id',id,'name',name)))先查出完整 JSON,再用「复制为JSON」拿结果 - 别指望 DBeaver 原生支持自定义 schema,它的 JSON 导出就是 raw data dump 定位
最易被忽略的一点:导出 JSON 时若勾选了 包含列标题,DBeaver 会在 JSON 数组第一项插入一个键全为列名的对象,比如 {"id":"id","name":"name"}——这会让下游解析直接报错,除非你明确知道要这个头。










