json_populate_record()

将 JSON 对象扩展到行的函数

json_populate_record() 是一个系统函数,用于将顶级 JSON 对象扩展到具有指定基本类型复合类型的行。

json_populate_record()PostgreSQL 9.3 中添加。

用法

json_populate_record ( base anyelement, from_json json ) → anyelement

有关详细规范,请参阅 PostgreSQL 文档

变更历史

示例

对于 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)

分类

JSON系统函数

另请参阅

json_populate_recordset()jsonb_populate_record()jsonb_populate_record_valid()

反馈

提交任何关于 "json_populate_record()" 的评论、建议或更正 此处