json_extract_path() 是一个系统函数,用于提取指定路径下的 JSON 子对象。它等价于运算符 #>。
json_extract_path() 在 PostgreSQL 9.3 中添加。
用法
json_extract_path (from_jsonjson, VARIADICpath_elemstext[]) →json
如果找不到有效的路径,则返回 NULL。
此函数提供了运算符 #> 的替代方案,当例如生成参数化的路径值列表时,它更容易使用。
变更历史
- PostgreSQL 9.3
- 添加 (提交 a570c98d)
示例
json_extract_path() 的基本用法示例
postgres=# SELECT json_extract_path(
$$
{"foo":
{"bar": "bip"},
"bar":
{"bat": "bop", "baz": "zoo"}}
$$,
'bar',
'baz'
);
json_extract_path
-------------------
"zoo"
(1 row)
这等价于
postgres=# SELECT $$
{"foo":
{"bar": "bip"},
"bar":
{"bat": "bop", "baz": "zoo"}}
$$::json #> '{bar, baz}';
?column?
----------
"zoo"
(1 row)
参考资料
- PostgreSQL 文档: JSON 处理函数
另请参阅
json_extract_path_text(),jsonb_extract_path()
