PostgreSQL 提供了强大的 JSON 和 JSONB 数据类型及相关操作,适用于存储和查询半结构化数据。本文将详细介绍其常用操作。
1. 基础操作
1.1 JSON 属性访问
-
->: 返回 JSON 对象中的值,结果为 JSON 格式。
SELECT ‘{“a”: {“b”: 1}}’::jsonb -> ‘a’;
– 返回:{“b”: 1} -
->>: 返回 JSON 对象中的值,结果为文本。
SELECT ‘{“a”: {“b”: 1}}’::jsonb -> ‘a’ ->> ‘b’;
– 返回:“1” (文本)
1.2 JSON 数组访问
-
索引访问数组元素:
SELECT ‘[1, 2, 3]’::jsonb -> 1;
– 返回:2 (JSON 格式) -
获取数组中某元素的文本:
SELECT ‘[1, 2, 3]’::jsonb ->> 1;
– 返回:“2” (文本)