La sortie JSON dans Postgresql
J'espère que je ne suis pas manque quelque chose de très évident ici,
Je veux obtenir une sortie JSON à partir d'une postgres fonction (j'imagine que beaucoup d'autres avaient déjà besoin de cela) et je serais heureux d'installer une extension de contrib fonctions sur mon serveur,
Est-il possible d'obtenir des données JSON à partir de sql ou plpgsql fonctions (ou avec l'aide de db-côté serveur python)? Plus précisément, je veux obtenir mon record[]
résultats en JSON.
OriginalL'auteur Ali | 2012-06-25
Vous devez vous connecter pour publier un commentaire.
Il est intégré dans le support de JSON depuis PostgreSQL 9.2 et il a augmenté, avec de nombreuses autres fonctionnalités dans les versions plus récentes(Par exemple: JSON fonctions PostgreSQL 0.4).
Spécialement le
row_to_json
convertit un enregistrement dans un objet JSON et learray_to_json
tourne tableaux en tableaux JSON.Par exemple, les deux fonctions peuvent être combinées de tourner facilement les résultats d'une
SELECT
requête en JSON:text
et le valide, il ne produit pas de sortie JSON.Avez-vous vérifié les exemples dans le premier lien? Il y a des fonctions
query_to_json()
,array_to_json()
etrecord_to_json()
qui prennent de l'entrée en fonction de leur nom et de le transformer en JSON.Vous avez raison, j'ai raté le
row_to_json
fonction, cela peut résoudre mon problème, merci.Les 2 premiers liens sont morts. C'est pourquoi StackOverflow est en répondant à des lignes directrices de nous conseiller, de citer la partie pertinente à partir d'un lien.
Veuillez mettre à jour votre réponse avec les parties pertinentes de la solution et de la mettre à jour les liens car ils sont morts maintenant.
OriginalL'auteur madth3
Utilisation record_to_json(...) à partir de la version 9.2, maintenant disponible reporté sur la 9.1.
Ni fonctionne réellement.
OriginalL'auteur Craig Ringer
La postgresql plpython plugin certainement vous permet de faire cela à l'aide de la python json de la bibliothèque.
Vous pouvez faire quelque chose comme ceci:
OriginalL'auteur pd40
Sur le serveur d'installation:
sudo apt-get install postgresql-plpython-9.4
Ensuite sur votre serveur Postgres:
OriginalL'auteur Sandeep