Salut la team, je viens vous soumettre une préoccupation qui depuis plus d'une semaine je reste sans réponse. Je suis sur un projet Mobile dont l'app est développée avec WindevMobile 20. Etant donné que l'app doit interagir avec un WebService qui retourne le résultat au format JSON, j'ai été dans l'obligation d'utiliser les fonctions suivantes: RestRequête, RestRéponse, RestEnvoi, JsonVersVariant, etc. Malheureusement, toutes ces fonctions ne peuvent s'exécuter sur les android pour une simple raison que l'app serait développée avec la version 20 WindevMobile. Je reconnais la force d'un forum quand aux problèmes ci-après. Y-t-il un génie qui aurait outre passé cette contrainte? Si oui, j'attends votre assistance. Sinon, orientez moi sur une possibilité de récupérer les données d'un tableau JSON sous windevMobile 20. Merci d'avance.
pour traiter les json en wm 20 tu as les fonctions Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! et Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! après il faudrait être plus explicite . sur les erreur rencontré. mais les httprest sont nouveauté 22 après tu as les httprequetes : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Merci pour ta participation. Ci-dessous le code source de l'app // Le résultat de la requête provinceJson est une chaîne ANSI=[ { "numordre": 1, "nomprovince": "Bas-Uele" }, { "numordre": 2, "nomprovince": "Equateur" }, { "numordre": 3, "nomprovince": "Haut-Katanga" } ] STProvince est une Structure numordre est un entier nomprovince est une chaîne FIN gsdataProv est un STProvince Désérialise(gsdataProv,provinceJson,psdJSON) //Le message d'erreur est Vous avez appelé la fonction Désérialise. Format JSON invalide
je pense que ca viens de ta chaine car il manqueles caractere "[" et "]" en debut de json mais comme tu as déclaré une chaîne tu devrais essayer avec : ProvinceJson=Caract(91)+ProvinceJson+Caract(9
Une fois de plus merci pour ton retour. Le message change, maintenant c'est : Vous avez appelé la fonction Désérialise. L'élément JSON n'est pas un objet.
Code (Windev): Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(marequete) provinceJson est un Buffer=Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!() STProvince est une Structure numordre est un entier nomprovince est une chaîne FIN gsdataProv est un STProvince Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(gsdataProv,provinceJson,psdJSON) et si tu met les valeur direct de ta requette de cette façons ,
Merci Khaliassas. Le problème était au niveau de la déclaration de la variable qui devait recevoir les données JSON. Je l'ai réglé en la déclarant comme suit : STProvince est une Structure numordre est une chaîne ANSI nomprovince est une chaîne ANSI FIN gsdataProv est un tableau de STProvince sUrlRequete est une chaîne sUrlRequete = "Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!" sRes est une chaîne ANSI // Requête SI HTTPRequête(sUrlRequete, "", "", "") = Vrai ALORS sRes=HTTPDonneRésultat(httpRésultat) Désérialise(gsdataProv,sRes,psdJSON) POUR TOUT province DE gsdataProv Info(province.nomprovince) FIN SINON Erreur(ErreurInfo()) FIN // ça marche parfaitement. Merci pour ton assistance. J'ai mis sur la place publique le bout de code qui marche bien chez moi.
p@}]] je suis C**. tu as un tableau de donnee donc remplace ta declaration gsdataProv est un STProvince par gsdataProv est tableau de STProvince... le plus évident des fois ne saute pas aux yeux....