PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 22 → Problème Json non réconnu
Problème Json non réconnu
Débuté par Sylvain PAINCHAUD, 18 mar. 2017 12:08 - 1 réponse
//hostimage.webdev.info/avatars/WONvWfflMqysctu8auRuQ
Membre enregistré
13 messages
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
//hostimage.webdev.info/avatars/WONvWfflMqysctu8auRuQ
Membre enregistré
13 messages
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