FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
Erreur avec la désérialisation JSON
Erreur avec la désérialisation JSON
Débuté par Jean Turcotte, 03 déc. 2024 16:47 - 5 réponses
Connectez-vous…
Jean Turcotte
#1
Membre enregistré
1 222 messages
Posté le 03 décembre 2024 - 16:47
J'ai un tableau de structure sérialisé en JSON qui est transféré au mobile Android.
Voici mon code partiel;
SectionCritiqueDébut
(
"UnEmploye"
)
s
Resultat
est chaîne
=
WS_
LogPUNCHVersMobile
(
s
APIKEY
,
UnEmploye.m_FldNoEmp
,
dh
DateHeureMAJ
)
SectionCritiqueFin
(
"UnEmploye"
)
SI
EstHEXA
(
s
Resultat
)
ALORS
jsonResultat
=
s
Resultat
SI
JSONValide
(
jsonResultat
)
ALORS
Désérialise
(
tab
LogPUNCH
,
buf
TabLogPUNCH
,
psdJSON
)
FIN
Mes 2 structures sont identiques. Lorsque j'exécure le code sur le mobile. JSONValide m'indique Vrai et il contient toutes les données mais lorsqu'il désérialise, il me donne une erreur de JSON invalide.
Des idées?
--
Jean Turcotte
WX 2024
Signaler
0
0
Jean Turcotte
#2
Membre enregistré
1 222 messages
Posté le 03 décembre 2024 - 17:12
J'ai trouvé, j'ai oublié de transférer le résultat dans ma variable bufTabLogPUNCH, J'ai tout de meme perdu 2h avec ça...
--
Jean Turcotte
WX 2024
Signaler
0
0
bchanudet
#3
Membre enregistré
453 messages
Posté le 03 décembre 2024 - 17:16
Bonjour,
Il manque des morceaux à ce bout de code non ? Si non, d'où vient ce "bufTabLogPUNCH" qui n'est mentionné nulle part ? Que contient-il ?
Signaler
0
0
Jean Turcotte
#4
Membre enregistré
1 222 messages
Posté le 03 décembre 2024 - 18:35
Le buffer contient un tableau de structure provenant de mon WebService
--
Jean Turcotte
WX 2024
Signaler
0
0
Niry Aina Eddy RATSIMANDRESY
#5
Membre enregistré
139 messages
Posté le 03 décembre 2024 - 18:52
Bonjour
Je vois votre problème, vous voulez avoir un résultat sur la déserialisation en 'Json', j'ai une solution pour vous
1. Vous devrez créer une classe pour avoir un tableau de résultat
2. Vous devrez créer une gestion soit d'enregistrement | soit modification des informations dans la classe
3. Vous devrez sérialiser le tableau de classe
4. Enfin vous désérialiser le buffer, le buffer est un type variable
Voilà un code qui pourrait vous aidez
ClPersonnel est une Classe // EDD (12/24) : La classe du personnel
m_eIdentifiant is entier
m_sMatricule is string
m_sNom is string
FIN
LOCAL // EDD (12/24) : Evènement d'un bouton pour des enregistrements des personnels
bfBuffer is Buffer
tbPersonnel, tbDeserialise is tableau of ClPersonnel
eEntier is entier
eEntier = TableauAjoute(tbPersonnel) // EDD (12/24) : Enregistrement des informations dans une tableau de classe
tbPersonnel[eEntier].m_eIdentifiant = 1
tbPersonnel[eEntier].m_sMatricule = "1"
tbPersonnel[eEntier].m_sNom = "Niry"
eEntier = TableauAjoute(tbPersonnel)
tbPersonnel[eEntier].m_eIdentifiant = 2
tbPersonnel[eEntier].m_sMatricule = "2"
tbPersonnel[eEntier].m_sNom = "Aina"
eEntier = TableauAjoute(tbPersonnel)
tbPersonnel[eEntier].m_eIdentifiant = 3
tbPersonnel[eEntier].m_sMatricule = "3"
tbPersonnel[eEntier].m_sNom = "Eddy"
Sérialise(tbPersonnel, bfBuffer, psdJSON) // EDD (12/24) : Sérialisation d'un tableau de classe vers un buffer
Info(bfBuffer)
Désérialise(tbDeserialise, bfBuffer, psdJSON) // EDD (12/24) : Désérialisation d'un buffer vers un nouveau tableau de classe
FOR i = 1 _TO_ TableauOccurrence(tbDeserialise) // EDD (12/24) : Lecture des informations
Trace("Numéro " + i + " " + tbDeserialise[i].m_eIdentifiant + " " + tbDeserialise[i].m_sMatricule + " " + tbDeserialise[i].m_sNom)
END
NB : Utilisez toujours des classes dans un projet
NB : Je ne comprends pas votre codes c'est pourquoi je vous écrit un modèle identique dont vous pouvez utiliser
Cordialement
Mr.RATSIMANDRESY
Niry Aina Eddy
Signaler
0
0
Jean Turcotte
#6
Membre enregistré
1 222 messages
Posté le 04 décembre 2024 - 00:10
Merci à Vous!
--
Jean Turcotte
WX 2024
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte