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

如何在PostgreSQL中插入含数组值的JSON至JSON类型列

如何将包含PostgreSQL数组值的JSON插入到JSON类型列

场景1:将PostgreSQL数组转为JSON数组插入

如果你的数据源是PostgreSQL数组(比如ARRAY[1,2,3]),可以通过函数将其转换为标准JSON数组格式后插入:

CREATE TABLE jsonlist (col JSON);

-- 用to_json转换PostgreSQL数组为JSON数组,再构造JSON对象
INSERT INTO jsonlist(col)
VALUES (json_build_object('usrGrp', to_json(ARRAY[1,2,3])));

也可以直接手动构造符合JSON规范的字符串插入:

INSERT INTO jsonlist(col)
VALUES ('{"usrGrp":[1,2,3]}');

场景2:保留PostgreSQL数组的字符串形式(不推荐)

如果确实需要把PostgreSQL数组的字符串表示(如"{1,2,3}")作为JSON的字符串值存入,你的原始写法是可行的,但此时JSON里的usrGrp是字符串类型,而非数组类型:

INSERT INTO jsonlist(col)
VALUES ('{"usrGrp":"{1,2,3}"}');

你可以用以下语句验证插入结果的类型:

SELECT col, col->>'usrGrp' AS usr_grp_value, json_typeof(col->'usrGrp') AS value_type
FROM jsonlist;

场景1的结果中value_type会显示array,场景2则显示string。

内容的提问来源于stack exchange,提问作者Kim Min-Uk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:45:55