pgsql关于json类型的简单用法,json赋值、json数组、json取值

pgsql关于json的简单用法

--這是個json字符串
select '{"name":"张三","age":34}';
--這是個json
select '{"name":"张三","age":34}'::json;
--這是個json
select json('{"name":"张三","age":34}');
--這也是個json,只不過這個json是個數組
select '[{"name":"张三","age":34},{"name":"李四","age":25}]'::json;

pgsql关于json类型的简单用法,json赋值、json数组、json取值_第1张图片

 以下也是json

-- 简单标量/基本值
-- 基本值可以是数字、带引号的字符串、true、false或者null
SELECT '5'::json;

-- 有零个或者更多元素的数组(元素不需要为同一类型)
SELECT '[1, 2, "foo", null]'::json;

-- 包含键值对的对象
-- 注意对象键必须总是带引号的字符串
SELECT '{"bar": "baz", "balance": 7.77, "active": false}'::json;

-- 数组和对象可以被任意嵌套
SELECT '{"foo": [true, "bar"], "tags": {"a": 1, "b": null}}'::json;

json操作符

操作符 右操作数类型 描述 例子 例子结果
-> int 获得 JSON 数组元素(索引从 0 开始,负整数结束) '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2 {"c":"baz"}
-> text 通过键获得 JSON 对象域 '{"a": {"b":"foo"}}'::json->'a' {"b":"foo"}
->> int 文本形式获得 JSON 数组元素 '[1,2,3]'::json->>2 3
->> text 文本形式获得 JSON 对象域 '{"a":1,"b":2}'::json->>'b' 2
#> text[] 获取在指定路径的 JSON 对象 '{"a": {"b":{"c": "foo"}}}'::json#>'{a,b}' {"c": "foo"}
#>> text[] 文本形式获取在指定路径的 JSON 对象 '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}' 3

你可能感兴趣的:(数据库#postgresql,postgresql)