J'essaie de convertir ce résultat dans lequel j'ai une colonne de type JSON, qui provient d'une requête SQL à ceci p>
3 Réponses :
Démo en ligne p> p> json_to_record code> et json_to_recordsetset code> de Fonctions de traitement JSON faire exactement cela. Dans votre cas:
SELECT r."Nombre",
r."rutaEsquema",
r."TipoDeComponente",
r."detalleDelComponente"
FROM jsonb_to_recordset(/* your JSONB value */ -> 'rows') AS q(columns jsonb)
CROSS JOIN LATERAL
jsonb_to_record(columns)
AS r(jseq bigint,
"Nombre" text,
"rutaEsquema" text,
"TipoDeComponente" text,
value bigint,
"detalleDelComponente" text
);
Une option utiliserait json_ach code> fonction pour développer l'objet JSON le plus externe dans un ensemble de paires de touches / valeur, puis d'extraire des éléments de tableau en utilisant json_array_elements code>: select elm->>'Nombre' as Nombre,
elm->>'rutaEsquema' as rutaEsquema,
elm->>'TipoDeComponente' as TipoDeComponente,
elm->>'detalleDelComponente' as detalleDelComponente
from
(
select elms -> 'columns' as elm
from(
select json_array_elements(js.value) as elms
from tab,
json_each(js_col) as js
) q1
) q2
Vous pouvez simplifier cette requête imbriquée à SELECT JSON_ARRAY_ELS (JS_COL -> 'Rows') -> 'Colonnes' comme elm de l'onglet code>
Avez-vous consulté les fonctions JSON à Postgres?
" qui vient d'une requête SQL i>" - pouvez-vous modifier cette requête? Si oui, veuillez le poster - semble assez inutile pour créer un JSON uniquement pour la déstructurier à nouveau.
Le JSON renvoyé de la requête provient d'un champ généré par un plugin JIRA dont le résultat est toujours au format JSON, ce n'est pas que je suis retourné JSON
Ah Ok, alors ça va probablement bien. BTW, s'il vous plaît considérer upvoting et / ou accepter les réponses que vous avez trouvées utiles