json_array_elements:整数的无效输入语法

json_array_elements: invalid input syntax for integer

我有以下示例数据用于演示:

Table:

create table tbl_json
(
   id json
);

一些值:

insert into tbl_json values('[{"id":1},{"id":2},{"id":3}]');

查询:Convert/cast id 从 json 列进入 integer

尝试过:

select json_array_elements(id)->>'id'::int ids 
from tbl_json;

出现错误:

ERROR: invalid input syntax for integer: "id"

::int 转换应用于 'id',因为它具有更高的优先级。

select (json_array_elements(id)->>'id')::int ids 
from tbl_json;