PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

comment analyser json en utilisant json_populate_recordset dans postgres

Le premier argument passé à la fonction pgsql json_populate_recordset doit être un type de ligne. Si vous souhaitez utiliser le tableau json pour remplir la table existante anoop vous pouvez simplement passer le tableau anoop comme type de ligne comme ceci :

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

Ici le null est la valeur par défaut à insérer dans les colonnes de table non définies dans le json passé.

Si vous n'avez pas de table existante, vous devez créer un type de ligne pour contenir vos données json (c'est-à-dire les noms de colonnes et leurs types) et les transmettre comme premier paramètre, comme ceci anoop_type :

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