json_populate_record()
是一个系统函数,用于将顶级 JSON
对象扩展到具有指定基本类型复合类型的行。
json_populate_record()
在 PostgreSQL 9.3 中添加。
用法
json_populate_record (base
anyelement
,from_json
json
) →anyelement
有关详细规范,请参阅 PostgreSQL 文档。
变更历史
- PostgreSQL 9.3
- 添加 (提交 a570c98d)
示例
对于 json_populate_record()
的自包含示例,需要创建一个自定义类型
postgres=# CREATE TYPE keyrec AS (key INT, val TEXT); CREATE TYPE
如下所示,该类型由 json_populate_record()
引用
postgres=# SELECT * FROM json_populate_record( NULL::keyrec, '{"key": 1,"val": "foo"}' ); key | val -----+----- 1 | foo (1 row)
字段不对应任何输出列的值将被忽略
postgres=# SELECT * FROM json_populate_record( NULL::keyrec, '{"key": 1,"val": "foo", "bar": "baz"}' ); key | val -----+----- 1 | foo (1 row)
参考文献
- PostgreSQL 文档: JSON 处理函数