PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → fonction Déserialise
fonction Déserialise
Débuté par FRANCK, 07 juin 2023 16:19 - 4 réponses
Membre enregistré
6 messages
Posté le 07 juin 2023 - 16:19
Bonjour,
je n'arrive pas à utiliser la fonction désérialise .

par une requête Http, j’interroge une base pour retrouver une fiche, je place le contenu de la réponse dans une variable intermed de type Buffer, et j'ai systématiquement l'erreur .



Contenu de la variable Intermed avant la fonction Déserialise






Désérialise(MonTableauReconstruit, intermed,psdJSON)






merci d'avance pour votre aide
Membre enregistré
449 messages
Popularité : +31 (43 votes)
Posté le 07 juin 2023 - 16:50
Bonjour

pouvez-vous nous montrer la structure de votre tableau ? car elle doit etre identique aux membres du json pour que cela fonctionne si je ne me trompe pas en tous k c'est ce que je fais

cdlt

DG
Message modifié, 07 juin 2023 - 17:08
Membre enregistré
6 messages
Posté le 07 juin 2023 - 16:57
Bonjour,
merci pour l'info,
dans l'exemple unitaire, il est effectivement noté la création d'une structure, mais pas dans l'aide

mais je vais faire un test

merci
Membre enregistré
3 883 messages
Popularité : +227 (347 votes)
Posté le 07 juin 2023 - 17:14
Bonjour,
Ton JSON n'est pas un tableau sinon, il serait encadré par des crochets e.g.
[
     {     
     "id":1,
     "name":"Janvier"
     }
]

Il faut donc passer en paramètre une occurence de ta classe et un un tableau de classe.
En ce qui concerne les noms des membre de la classe, s'il ne correspondent pas aux noms de membre du JSON, les valeurs JSON ne sont pas importées, sauf si la classe utilise le mot clé sérialise

e.g.
CMois est classe
id est entier sur 8
m_saNomMois est chaîne
FIN

Seules le valeurs de id seront importées, les membres m_saNomMois seront ignorés
Par contre
CMois est classe
m_nID est entier sur 8 <Sérialise="id">
m_saNomMois est chaîne <Sérialise="name">
FIN

Bien que le nom des membres de la classe WD ne corresponde pas au nom des membres de la classe JSON, les données seront importées

--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 07 juin 2023 - 17:20
Membre enregistré
3 883 messages
Popularité : +227 (347 votes)
Posté le 07 juin 2023 - 20:47
A la place de
Il faut donc passer en paramètre une occurrence de ta classe et un un tableau de classe.

Il faut lire :
Il faut donc passer en paramètre une occurrence de ta classe et non un tableau de classe.


--
Il y a peut être plus simple, mais, ça tourne