PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Problème Json non réconnu
Problème Json non réconnu
Débuté par Sylvain PAINCHAUD, 18 mar. 2017 12:08 - 2 réponses
Membre enregistré
36 messages
Popularité : +4 (4 votes)
Posté le 18 mars 2017 - 12:08
Bonjour,

Voilà j’essaie désespérément avec windev et windev mobile de faire un webservice qui renvoi du json.
Mais celui-ci me renvoi toujours la même erreur (format json invalide)

Mon code coté Webservice :

Procedure Liste_Utilisateur_sans_moi(MonId est un entier)

tabMontableauUtilisateur est un tableau de strEtudiant
stMaUtilisateur est une strEtudiant

SI HExécuteRequête(REQ_Liste_Etudiant_Sans_Moi,hRequêteDéfaut,MonId) ALORS
POUR TOUT REQ_Liste_Etudiant_Sans_Moi
stMaUtilisateur.idUtilisateur= REQ_Liste_Etudiant_Sans_Moi.IDutilisateurs
stMaUtilisateur.Nom_Prenom= REQ_Liste_Etudiant_Sans_Moi.Nom_Prenom
TableauAjoute(tabMontableauUtilisateur,stMaUtilisateur)
FIN
HLibèreRequête(REQ_Liste_Etudiant_Sans_Moi)
FIN

Liste_promo_chaine est une chaîne ANSI
Sérialise(tabMontableauUtilisateur,Liste_promo_chaine,psdJSON+psdMiseEnForme)
RENVOYER Liste_promo_chaine


Mon code coté téléphone :
bufRésultat est un Buffer
bufRésultat = Liste_Utilisateur_sans_moi(1)
// Désérialisation du buffer JSON
// => Reconstruction du tableau WLangage à partir de la chaîne JSON
MonTableauReconstruit est un tableau de chaînes ANSI
Désérialise(MonTableauReconstruit, bufRésultat, psdJSON)
sMoi est une chaîne ANSI = bufRésultat


dans le code du webservice, j'ai aussi essayé :
Sérialise(tabMontableauUtilisateur,Liste_promo_chaine,psdJSON)

Mais cela ne change rien.

Voici ce que j'obtiens sur la page ou je fais le test de mon webservice :

<SOAP-ENV:Envelope>
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<Liste_Utilisateur_sans_moiResult>[ { "idUtilisateur":66, "Nom":"", "Prenom":"", "Nom_Prenom":"aaaa aaaa" }, { "idUtilisateur":7, "Nom":"", "Prenom":"", "Nom_Prenom":"Alexis Michel" }, { "idUtilisateur":64, "Nom":"", "Prenom":"", "Nom_Prenom":"alex vivant" }, { "idUtilisateur":2, "Nom":"", "Prenom":"", "Nom_Prenom":"Amra Pierre" }, { "idUtilisateur":63, "Nom":"", "Prenom":"", "Nom_Prenom":"Bejaoui samy" }, { "idUtilisateur":9, "Nom":"", "Prenom":"", "Nom_Prenom":"Ben Fahoui" }, { "idUtilisateur":6, "Nom":"", "Prenom":"", "Nom_Prenom":"Camille Bachellier" }, { "idUtilisateur":68, "Nom":"", "Prenom":"", "Nom_Prenom":"Collard Charles" }, { "idUtilisateur":70, "Nom":"", "Prenom":"", "Nom_Prenom":"Dekerle Bastien" }, { "idUtilisateur":69, "Nom":"", "Prenom":"", "Nom_Prenom":"Doux Alexia " }, { "idUtilisateur":8, "Nom":"", "Prenom":"", "Nom_Prenom":"\u00c9milie Pasiquier" }, { "idUtilisateur":5, "Nom":"", "Prenom":"", "Nom_Prenom":"Fr\u00e9d\u00e9ric Laferri\u00e8re" }, { "idUtilisateur":71, "Nom":"", "Prenom":"", "Nom_Prenom":"Guiblin H\u00e9l\u00e8ne" }, { "idUtilisateur":67, "Nom":"", "Prenom":"", "Nom_Prenom":"Margrain Th\u00e9o" }, { "idUtilisateur":72, "Nom":"", "Prenom":"", "Nom_Prenom":"Matray Laetitia " }, { "idUtilisateur":62, "Nom":"", "Prenom":"", "Nom_Prenom":"Mickael Weeteam" }, { "idUtilisateur":61, "Nom":"", "Prenom":"", "Nom_Prenom":"tedt testz" }, { "idUtilisateur":65, "Nom":"", "Prenom":"", "Nom_Prenom":"test 2 test 3" } ]
</Liste_Utilisateur_sans_moiResult>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

et lorsque je fais un info de mon buffer dans l'application j'obtien :
[ { "idUtilisateur":66, "Nom":"", "Prenom":"", "Nom_Prenom":"aaaa aaaa" }, { "idUtilisateur":7, "Nom":"", "Prenom":"", "Nom_Prenom":"Alexis Michel" }, { "idUtilisateur":64, "Nom":"", "Prenom":"", "Nom_Prenom":"alex vivant" }, { "idUtilisateur":2, "Nom":"", "Prenom":"", "Nom_Prenom":"Amra Pierre" }, { "idUtilisateur":63, "Nom":"", "Prenom":"", "Nom_Prenom":"Bejaoui samy" }, { "idUtilisateur":9, "Nom":"", "Prenom":"", "Nom_Prenom":"Ben Fahoui" }, { "idUtilisateur":6, "Nom":"", "Prenom":"", "Nom_Prenom":"Camille Bachellier" }, { "idUtilisateur":68, "Nom":"", "Prenom":"", "Nom_Prenom":"Collard Charles" }, { "idUtilisateur":70, "Nom":"", "Prenom":"", "Nom_Prenom":"Dekerle Bastien" }, { "idUtilisateur":69, "Nom":"", "Prenom":"", "Nom_Prenom":"Doux Alexia " }, { "idUtilisateur":8, "Nom":"", "Prenom":"", "Nom_Prenom":"\u00c9milie Pasiquier" }, { "idUtilisateur":5, "Nom":"", "Prenom":"", "Nom_Prenom":"Fr\u00e9d\u00e9ric Laferri\u00e8re" }, { "idUtilisateur":71, "Nom":"", "Prenom":"", "Nom_Prenom":"Guiblin H\u00e9l\u00e8ne" }, { "idUtilisateur":67, "Nom":"", "Prenom":"", "Nom_Prenom":"MargraTh\u00e9o" }, { "idUtilisateur":72, "Nom":"", "Prenom":"", "Nom_Prenom":"Matray Laetitia " }, { "idUtilisateur":62, "Nom":"", "Prenom":"", "Nom_Prenom":"Mickael Weeteam" }, { "idUtilisateur":61, "Nom":"", "Prenom":"", "Nom_Prenom":"tedt testz" }, { "idUtilisateur":65, "Nom":"", "Prenom":"", "Nom_Prenom":"test 2 test 3" } ]

Quelqu'un pourrait il m'aider s'il vous plait ?

Pour information je veux juste pouvoir envoyer hydraté mes structures et les renvoyer en WS pour les récupéré dans le code des mes applications, sans problèmes.

Je vous remercie
Membre enregistré
36 messages
Popularité : +4 (4 votes)
Posté le 18 mars 2017 - 12:42
Problème résolue.

Le petit code a mettre dans l'application est le suivant :

//Déclaration de variable de structure étudiant
stMonEtudiant est une strEtudiant

//Déclaration de mon tableau de structure étudiant
tabMonTableauEtudiant est un tableau de strEtudiant

//Déclaration de variante afin de mettre le Json dedant.
vMavarient est une Variant
vMavarient = JSONVersVariant(SAI_SansNom1)

//Lecture de mon json et hydratation de ma variable d'étudiant et ensuite remplissage de mon tableau d'étudiant.
POUR TOUT an de vMavarient
stMonEtudiant.idUtilisateur = an.idUtilisateur
stMonEtudiant.Nom = an.Nom
stMonEtudiant.Prenom = an.Prenom
stMonEtudiant.Nom_Prenom = an.Nom_Prenom
TableauAjoute(tabMonTableauEtudiant,stMonEtudiant)
FIN
Posté le 06 mars 2018 - 16:22
Bonjour Sylvain,

Vous utilisez une version supérieure à la 21 apparemment