You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DuckDB中直接将SELECT查询结果转换为JSON?

直接在DuckDB中生成目标格式JSON的方法

当然可以不用写入文件或借助Python转换,直接通过DuckDB的内置SQL函数生成你要的JSON格式,完全不需要依赖外部工具。

实现语句

针对你的需求,最直接的方式是用array_agg聚合列值为数组,再用json_build_object组合成目标JSON对象:

SELECT json_build_object(
    'city', array_agg(city),
    'temp_hi', array_agg(temp_hi)
)
FROM weather;

执行这条SQL后,会直接返回你期望的结果:

{"city": ["San Francisco", "Vienna"], "temp_hi": [50, 35]}

原理说明

  • array_agg(column):将指定列的所有行值聚合为一个数组
  • json_build_object(key1, value1, key2, value2...):按键值对构建JSON对象,这里把聚合后的数组作为对应键的值

额外说明

不需要启用额外的JSON扩展,上述函数是DuckDB核心功能自带的,适用于绝大多数新版本的DuckDB。这种纯SQL的方式比先导出到Python再转JSON更高效,避免了数据在客户端和数据库之间的传输开销。

内容的提问来源于stack exchange,提问作者Val

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:57:05