1、根据角码获取数组
select '[{"a":"foo"},{"b":"bar"},{"c":"baz"}]'::json->2
结果 {"c":"baz"}
2、根据key获取json值
select '{"a": {"b":"foo"}}'::json->'a'
结果 {"b":"foo"}
3、多层纵深的查询
select '{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'
结果 3
注
pgsql第三个实例的支持多层纵深,并且支持角码和key。
select data::json#>'{content,pages,0,id}' from table
pgsql语句中的》和>区别
》获取到的结果集为文本
>获取到的结果集是对象
附
更多信息可以查询pgsql的官方文档
https://www.postgresql.org/docs/9.6/static/functions-json.html