Volubis, le forum IBM i Index du Forum Volubis, le forum IBM i
avec les clubs Informatiques IPL et Bretagne.
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Parsing Json lorsqu'il n'y a pas de nom de tableau...

 
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> langages
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
bme



Inscrit le: 15 Mar 2019
Messages: 1

MessagePosté le: Lun 18 Mar 2019, 08:33:57    Sujet du message: Parsing Json lorsqu'il n'y a pas de nom de tableau... Répondre en citant

Bonjour à tous,
Pour résumer: nous disposons dans mon entreprise de la version V7.3 TR4. Avec les nouveaux opérateurs SQL/JSON, c'est assez facile de parser un Json contenant des tableaux. Par exemple, avec le Json suivant:

{"data":[{"id":"_1001"},{"id":"_1002"},{"id":"_1003"},{"id":"_1004"}]}

On peut utiliser :
SELECT Y.* FROM JSON_TABLE(
'{"data":[{"id":"_1001"},{"id":"_1002"},{"id":"_1003"},{"id":"_1004"}]}'
,'lax $' COLUMNS(
NESTED PATH 'lax $.data[*]' COLUMNS (ID VARCHAR(50) PATH '$.id' ))) as y;

Et on obtient :
_1001
_1002
_1003
...

Mon problème est que le JSON que je dois consommer en input n'a pas de nom de tableau:
{[
{"id":"_1001"},
{"id":"_1002"},
{"id":"_1003"},
{"id":"_1004"}
]}

Et je n'ai pas encore trouvé la bonne syntaxe pour parser ce type de Json…
La solution que j'utilise actuellement consiste à ajouter un nom de tableau à l'aide d'un concat:

SELECT Y.* FROM JSON_TABLE(
'{"data":'
concat Substr('{[{"id":"_1001"},{"id":"_1002"},{"id":"_1003"},{"id":"_1004"}]}', 2)
,'$.data[*]' Columns(Number VarChar(10) path '$.id')) AS Y;

Mais j'aimerais savoir si l'un d'entre vous a une meilleure solution?
_________________
Cordialement
Bertrand Menetrier
Division Solutions Assurance & BI
Vaudoise Assurances
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Volubis, le forum IBM i Index du Forum -> langages Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots