PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

come analizzare json usando json_populate_recordset in postgres

Il primo argomento passato alla funzione pgsql json_populate_recordset dovrebbe essere un tipo di riga. Se vuoi usare l'array json per popolare la tabella esistente anoop puoi semplicemente passare la tabella anoop come il tipo di riga in questo modo:

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"}]');

Qui il null è il valore predefinito da inserire nelle colonne della tabella non impostate nel json passato.

Se non hai una tabella esistente, devi creare un tipo di riga per contenere i tuoi dati json (ad esempio i nomi delle colonne e i loro tipi) e passarli come primo parametro, come questo anoop_type :

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