Chercher Et Ou Phrase  
Dans:          


Pour les nouveau visiteurs

Entrez ici

Chercher le Forum



 

 Les Forums
  Programmation avancée
Repondre a ce sujet  

Sujet Erreur JSONVersVariant sur WinDev Mobile (V28)
Message envoyé le 16-07-2025 par hashmi_net (Maroc)  
Bonjour à tous,

J’espère que vous allez bien. Je me permets de solliciter un petit coup de main si possible.

Je travaille sur une application WinDev Mobile (version 28), et je rencontre un souci avec l’utilisation de la fonction JSONVersVariant dans le traitement d’un champ de saisie.

Voici le contexte : j’exécute une requête HTTP à chaque modification du champ, pour afficher dynamiquement des résultats issus d’un backend (au format JSON). Ce code fonctionne parfaitement dans l’environnement WinDev 28 (PC), mais sur mobile, j’obtiens systématiquement une erreur indiquant que JSONVersVariant est inaccessible.

Auriez-vous une idée ou une piste pour contourner ou résoudre ce problème sur WinDev Mobile ? Je vous remercie sincèrement par avance pour votre aide !

Voici le code concerné :

windev
Copier
Modifier
sTexte est une chaîne = SAI_recherche

SI Taille(sTexte) >= 4 ALORS
     sURL est une chaîne = "http://backendurl/search?q=" + URLEncode(sTexte)
     
     SI HTTPRequête(sURL) ALORS
          sRéponse est une chaîne = HTTPDonneRésultat()
          
          // Conversion de la réponse JSON en Variant
          vData est un Variant = JSONVersVariant(sRéponse)
          i est un entier
          
          ZoneRépétéeSupprimeTout(ZR_resultats) // Vider la zone répétée
          
          POUR i = 1 À Dimension(vData)
               sNom est une chaîne = vData["name"]
               sID est une chaîne = vData["id"]
               
               ZR_resultats.AjouteLigne()
               ZR_resultats.STC_Nom = sNom
               ZR_resultats.LIB_SansNom1 = sNom
               ZR_resultats.STC_ID = sID
               ZR_resultats.LIB_SansNom2 = sID
          FIN
     FIN
FIN


Voici un exemple de résultat JSON retourné par le backend lorsqu’on recherche "doli" :

[
{"id":"5485","name":"DOLIPRANE 100 mg pdre p sol buv en sachet-dose"},
{"id":"5497","name":"DOLIPRANE 100 mg suppos sécable"},
{"id":"19649","name":"DOLIPRANE 1000 mg cp"},
{"id":"5478","name":"DOLIPRANE 1000 mg cp efferv séc"},
{"id":"106232","name":"DOLIPRANE 1000 mg gél"},
{"id":"20804","name":"DOLIPRANE 1000 mg pdre p sol buv en sachet-dose"},
{"id":"5493","name":"DOLIPRANE 1000 mg suppos adultes"},
{"id":"5486","name":"DOLIPRANE 150 mg pdre p sol buv en sachet-dose"},
{"id":"5494","name":"DOLIPRANE 150 mg suppos"},
{"id":"5489","name":"DOLIPRANE 2,4 % susp buv"},
{"id":"5487","name":"DOLIPRANE 200 mg pdre p sol buv en sachet-dose"},
{"id":"5495","name":"DOLIPRANE 200 mg suppos"},
{"id":"5488","name":"DOLIPRANE 300 mg pdre p sol buv en sachet-dose"},
{"id":"5496","name":"DOLIPRANE 300 mg suppos"},
{"id":"5476","name":"DOLIPRANE 500 mg cp"},
{"id":"5477","name":"DOLIPRANE 500 mg cp efferv"},
{"id":"5480","name":"DOLIPRANE 500 mg gél"},
{"id":"5484","name":"DOLIPRANE 500 mg pdre p sol buv en sachet-dose"},
{"id":"106245","name":"DOLIPRANECAPS 1000 mg gél"},
{"id":"229601","name":"DOLIPRANELIQUIZ 1000 mg susp buv en sachet édulc au sorbitol,sucralose néohespéridine DC"},
{"id":"162747","name":"DOLIPRANELIQUIZ 200 mg susp buv en sachet"},
{"id":"162473","name":"DOLIPRANELIQUIZ 300 mg susp buv en sachet"},
{"id":"228471","name":"DOLIPRANELIQUIZ 500 mg susp buv sach édulc au sorbitol,sucralose néohespéridine DC"},
{"id":"161767","name":"DOLIPRANEORODOZ 500 mg cp orodispers"},
{"id":"109285","name":"DOLIPRANETABS 1000 mg cp pellic"}
]

Je vous remercie d’avance pour toute suggestion ou retour d’expérience sur ce sujet !
Bonne journée à tous, et merci encore pour votre temps !



Encore merci pour votre temps et votre expertise
Bonne journée à tous !

Message envoyé le 16-07-2025 par PRINCE (Maroc)  
Bonjour hashmi_net

Je n'ai pas WM28 installé mais la première remarque que j'ai sur ton code

En WM les chaines sont en unicode et pour travailler avec du JSON

j'utilise des chaines en ANSI

Modifie la chaine suivante en ANSI:

sRéponse est une chaîne ANSI = ......



Message envoyé le 16-07-2025 par Jackson (Bosnie)  
J'utilise rarement des variables « variant », mais toujours du JSON et des structures/classes. C'est bien plus simple que d'utiliser la variable « variant ».
Je n'ai jamais ce problème avec Windev Mobile.
Je suis également d'accord avec PRINCE. Il utilise ANSI.

Message envoyé le 16-07-2025 par hashmi_net (Maroc)  
@Prince
@jackson

Merci pour l'update rapide

je teste cela ce soir et reviens vers vous


Pour répondre à ce message vous devez être membre

Entrée membre    Enregistrer




Retour © 1996-2025 forum.acam.ca