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

如何将JSON数组插入PostgreSQL的jsonb[]类型列?

如何正确将JSON数组插入PostgreSQL的jsonb[]列?

你遇到的错误是因为传入的是text[]类型数组,但目标列类型为jsonb[],PostgreSQL不会自动完成这种类型转换,必须显式指定类型转换。以下是几种可行的解决方法:

方法1:逐个元素转换为jsonb

给每个JSON字符串添加::jsonb类型转换后再组成数组:

insert into test values (array['{"a": 45.50, "b": 10}'::jsonb, '{"a": 70.50, "b": 80}'::jsonb]);

方法2:将整个text数组转换为jsonb[]

直接对整个数组进行类型转换:

insert into test values (array['{"a": 45.50, "b": 10}', '{"a": 70.50, "b": 80}']::jsonb[]);

方法3:使用jsonb字面量构造数组

用jsonb关键字直接声明每个元素的类型:

insert into test values (array[jsonb '{"a": 45.50, "b": 10}', jsonb '{"a": 70.50, "b": 80}']);

这三种方法都能解决类型不匹配的问题,将JSON对象数组正确插入到jsonb[]类型的列中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:12:09