PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Récupérer les enregistrements d'un webservice json dans une table
Récupérer les enregistrements d'un webservice json dans une table
Iniciado por info2, 03,nov. 2018 11:04 - 4 respuestas
Miembro registrado
44 mensajes
Publicado el 03,noviembre 2018 - 11:04
Bonjour,
Je m'interesse aux WebServices mais je bloque, j'arrive à réupérer une chaine Json d'un webservice avec une sélection d'enregistrement qui est sous la forme :
[
{
"Nom" : ";;kl",
"Prenom" : "jjujj",
"dID" : 4078
},
{
"Nom" : "A-Test",
"Prenom" : "Goo001",
"dID" : 16
},
{
"Nom" : "AMEL",
"Prenom" : "No\u00ebmie",
"dID" : 105
},
]

Mais je ne parviens pas à ajouter dans une table les différents enregistrements qui ont une structure du type:

Client.ID
Client.Nom
Client.Prenom

Mon problème se trouve au niveau de la désérialisation.

Quelqu'un aurait-il un bout de code ? pour ajouter mes enregistrements Json dans ma table ?
Merci d'avance à tous.
Laurent
Mensaje modificado, 03,noviembre 2018 - 11:05
Publicado el 04,noviembre 2018 - 12:05
Bonjour,

Il faudrait utiliser JsonVersVariant.

https://doc.pcsoft.fr/?1000021052
Miembro registrado
81 mensajes
Publicado el 05,noviembre 2018 - 09:14
bonjour,

comme je l'ai fait en mobile AVANT que le variant n'existe en windevmobile, je suis passé par structure et tableau de structure.

et ça marche super bien.

mastru1 est une structure
Nom est une chaine
Prenom est une chaine
dID est un entier
fin

montabstru1 est un tableau de 0 mastru1

ensuite on charge le fichier json dans le tableau de structure.
c'est quasi instantané.

je peux essayer de te retrouver le code complet que je faisait en windev mobile si besoin.
Publicado el 05,noviembre 2018 - 12:09
Merci pour ton aide, j'ai trouver voici mon code,
Cela pourra aider certain !

stClient est une structure
Nom est une chaîne
Prénom est une chaîne
IDClient est une entier
FIN
monclient est un stClient

tabClient est un tableau de stClient

oRequête est une httpRequête
oRéponse est une httpRéponse

oRequête..URL = "http://localhost/composante_1/"+SAI_MonParam
oRequête..Méthode = httpGet

// Exécute la requête et récupère la réponse
oRéponse = HTTPEnvoie(oRequête)

Désérialise(tabClient,oRéponse..Contenu,psdJSON)

POUR TOUT stUnClient de tabCLient // AVEC Ville = "MONTPELLIER"
// Traitement
TableAjouteLigne(TABLE_SansNom1,stUnClient.IDEleve,stUnCLient.Nom,stUnCLient.Prénom)
FIN
Miembro registrado
81 mensajes
Publicado el 05,noviembre 2018 - 15:08
voilà c'est exactement ce que j'allais t'envoyer