--PostgreSQL JSON 函数功能使用
PostgreSQL 的jsonb 功能中的函数功能可以快速的对PG中的JSON数据进行处理, 对于JSON的操作函数多达20多个功能,我们下面对常用的功能进行相关的讲解.
1 调整信息为json格式或jsonb
select to_json('json is "create type"'::text)
对于要进行输入的数据可以通过to_json来进行重新的格式化,避免输入数据时格式错误.
select to_jsonb('json is "create type"'::text)
2 对包含大括号的文本序列化的数据
select json_object('{a, 1, b, "def", c, 3.5}');
3 对不包含大括号的文本进行JSON格式化
select json_build_object('foo',1,'bar',2);
4 把格式的数组变为 JSON 格式,通过两个有序的list 来组成多个key value的JSON 串
select json_object('{name, Austin}', '{name,Simon}');
上面的格式化函数可以将准备好的数据变为PG 支持的 JSON OR JSONB格式的数据,方便输入到系统中.
除了相关的格式化参数, PG 还提供了部分JSON 或者 JSONB 的数据处理的参数.
1 PG 计算参数,计算数组的个数
select json_array_length('[1,2,3,{"name":"Austin","name":["Simon","Tim"]},4]');
2 将JSON 数据变化为表格化的数据
select * from json_each('{"name":"foo", "name":"bar"}');
3 将当前的JOSN 数据转换为行列模式
select * from json_each_text('{"name":"foo", "name":"bar"}');
4 挑拣出当前JSON 数据中key 因子
select json_object_keys('{"name":"Austin","compound":{"compound_c":"a-@e", "name":"simon"}}');
5 判断数据的类型 json_typeof
select json_typeof('false');
6 格式化JSONB 数据
SELECT jsonb_pretty('{"id": "c-1010", "type": "c-1012"}'::jsonb);
同时jsonb_pretty 数据中也有一些其他的问题,例如如果云一致的情况下,会留下后一行的数据
相关文章