PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV (versiones precedentes) → Comment connaitre la structure d'un enregistrement JSON?
Comment connaitre la structure d'un enregistrement JSON?
Iniciado por Jose Dubois, 23,feb. 2021 16:21 - 4 respuestas
Publicado el 23,febrero 2021 - 16:21
Bonjour,

Je peux parcourir les données de l'enregistrement avec .Membre mais je n'ai pas trouvé comment parcourir la structure, par exemple, j'obtiens facilement la valeur 2 si je connais le membre cdrvoicemail dans l'enregistrement partiel suivant mais comment connaître l'élément "cdrvoicemail" si j'ignore la structure?

{"server_name":"RNT Inc","tenantcode":"999","package_id":"5","glocomproxy":null,"absolutetimeout":"14400","cdrvoicemail":"2","faxformat":"letter","faxfiletype":"1"

Merci d'avance!

JD
Publicado el 23,febrero 2021 - 17:13
je ne sais pas s'il y a une fonction json spécifique pour ca, mais en tous les cas, un json est juste un foichier de chaines, et donc extratichaine peut extraire tous les éléments
Miembro registrado
184 mensajes
Publicado el 23,febrero 2021 - 19:05
Publicado el 23,febrero 2021 - 21:30
Merci! En passant j'ai trouvé ceci qui répond non seulement à toutes mes questions sur l'analyse d'un enregistrement JSON mais qui en plus utilise une procédure interne avec la récursivité. Du beau code.

https://blogs.pcsoft.fr/fr/extraire-simplement-donnees-json-dont-structure-connue-avance/353/read.awp

Merci encore!
Publicado el 24,febrero 2021 - 11:04
Et donc encore une fois un exemple qui montre ce qu'il ne faut surtout PAS faire dans la vrai vie...

La récursivité est officiellement NON supportée en wlanguage.

Ca fonctionne, oui, mais le nombre de 'tours' que tu peux effectuer avant que ton programme explose est :
- Faible
- TRES différent selon les versions (le maximum que j'ai trouvé quand je faisais des tests était 600 niveaux, et c'est descendu à 128 la version d'après)

Fais une simple boucle récursive qui compte et fait un trace de la valeur et tu verras par toi même le crash spectaculaire...

Donc cet exemple va fonctionner tant que la structure du json est simple ET tu ne l'appelles pas depuis quelque part qui est déjà très profond dans la pile des appels...

Donc, fais de la récursivité si tu veux ne jemais savoir si ton programme va planter ou pas quand tu passes à la nouvelle version, ou quand tu appelle ton code depuis quelque part ailleurs.