sql >> Base de Datos >  >> RDS >> PostgreSQL

cómo analizar json usando json_populate_recordset en postgres

El primer argumento pasado a la función pgsql json_populate_recordset debe ser un tipo de fila. Si desea utilizar la matriz json para completar la tabla existente anoop simplemente puede pasar la tabla anoop como el tipo de fila como este:

insert into anoop
select * from json_populate_recordset(null::anoop, 
        '[{"id":67272,"name":"EE_Quick_Changes_J_UTP.xlsx"},
          {"id":67273,"name":"16167.txt"},
          {"id":67274,"name":"EE_12_09_2013_Bcum_Searchall.png"}]');

Aquí el null es el valor predeterminado para insertar en las columnas de la tabla no establecido en el json pasado.

Si no tiene una tabla existente, debe crear un tipo de fila para contener sus datos json (es decir, nombres de columnas y sus tipos) y pasarlos como el primer parámetro, así anoop_type :

create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type, 
        '[...]') --same as above