Using json_populate_recordset without creating a table?
You have to create a new type to pass to the function (note that as the json_populate
returns a json_type
you have to use (row).*
notation to get individual fields):
CREATE type json_type AS (x1 int, x2 int);
SELECT id, (json_populate_recordset(null::json_type, json_records)).* FROM my_table;
Here is another example using a json string on PostgreSQL 11
drop TYPE json_test;
create TYPE json_test AS (id_item int, id_menu varchar(100));
select * from json_populate_recordset(null::json_test,'[{"id_item":1,"id_menu":"34"},{"id_item":2,"id_menu":"35"}]')