PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

wie man json mit json_populate_recordset in Postgres analysiert

Das erste Argument, das an die pgsql-Funktion json_populate_recordset übergeben wird sollte ein Zeilentyp sein. Wenn Sie das json-Array verwenden möchten, um die vorhandene Tabelle anoop zu füllen Sie können die Tabelle einfach anoop übergeben als Zeilentyp wie folgt:

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

Hier der null ist der Standardwert, der in Tabellenspalten eingefügt wird, die nicht im übergebenen json festgelegt sind.

Wenn Sie keine vorhandene Tabelle haben, müssen Sie einen Zeilentyp erstellen um Ihre JSON-Daten (dh Spaltennamen und ihre Typen) zu speichern und sie als ersten Parameter zu übergeben, wie diesen anoop_type :

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