FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV Mobile 2024
→
Copie de JSON vers classe ou structure
Copie de JSON vers classe ou structure
Débuté par Pierre, 21 oct. 2018 18:21 - 2 réponses
Connectez-vous…
Pierre
#1
Membre enregistré
150 messages
Popularité : +1 (1 vote)
Posté le 21 octobre 2018 - 18:21
Bonjour,
J'ai un websservice REST qui me retourne un tableau de structure en JSON
Voici la génération
ST
UneMission
est une structure
IdMission
est un entier
Plaque
est une chaîne
Marque
est une chaîne
Modèle
est une chaîne
Nom
est une chaîne
DateSinistre
est une
Date
VéhiculeChoc
est une chaîne
Véhiculechassis
est une chaîne
C
ieIntervenant
est une chaîne
<
MAPPING
=
IntervenantCie
>
FIN
s
ListeRenvoi
est une chaîne
tab
ListeMission.SupprimeTout
(
)
SI
n
IdMission
=
0
ALORS
//On les prend toutes
HExécuteRequête
(
REQ_
MissionsLst
)
FichierVersTableau
(
tab
ListeMission
,
REQ_
MissionsLst
)
SINON
HLitRecherche
(
Mission
,
IDMission
,
n
IdMission
)
SI
HTrouve
(
Mission
)
ALORS
st
MissionEncours
=
Mission
Ajoute
(
tab
ListeMission
,
st
MissionEncours
)
FIN
FIN
Sérialise
(
tab
ListeMission
,
s
ListeRenvoi
,
psdJSON
)
RENVOYER
s
ListeRenvoi
Voici la réception sur un mobile android
MaQuestion
est un restRequête
MaRéponse
est un restRéponse
v
Contenu
est un
Variant
MaQuestion.URL
=
"http://I7-Dvp/Missions/"
MaRéponse
=
RESTEnvoie
(
MaQuestion
)
gtab
MissionsLst.SupprimeTout
(
)
SI PAS
ErreurDétectée
ALORS
v
Contenu
=
JSONVersVariant
(
MaRéponse.Contenu
)
POUR
TOUT
UneMission
de
v
Contenu
st
NewMission
est une
ST
UneMission
st
NewMission
=
UneMission
st
NewMission.Nom
=
UneMission.nom
st
NewMission.Marque
=
UneMission.marque
st
NewMission.Modele
=
UneMission.modèle
st
NewMission.Plaque
=
UneMission.plaque
//
stNewMission<=UneMission
Ajoute
(
gtab
MissionsLst
,
st
NewMission
)
Ajoute
(
gtab
MissionsFromClass
,
cl
MissonFromClass
)
//
Trace(UneMission.Nom)
FIN
FIN
Dans le simulateur, çà passe. Par contre, sur le téléphone, si je n'affecte pas membre par membre comme ci-dessus j'ai un rapport d'erreur qui dit qu'on ne peut copier dans un objet qu'un objet identique.
C'est peut-être une question de format unicode/ansi mais je n'ai pas trouvé.
Connaissez-vous un moyen pour éviter de copier membre par membre.
PS : La déclaration de structure est identique d'un projet WD23 au WM23
Merci d'avance
Pierre
Signaler
0
0
Philippe SB
#2
Membre enregistré
2 566 messages
Popularité : +222 (260 votes)
Posté le 22 octobre 2018 - 09:57
Bonjour,
Tu as essayé d'utiliser Désérialise() en lieu et place de JSONVersVariant(). Tu sérialises d'un côté, donc tu désérialises de l'autre. Le format n'est peut-être pas tout à fait le même d'une fonction à une autre.
--
Cordialement,
Philippe SAINT-BERTIN
Signaler
0
0
Pierre
#3
Posté le 24 octobre 2018 - 14:54
Philippe SB a exposé le 22-10-18 :
Bonjour,
Tu as essayé d'utiliser Désérialise() en lieu et place de JSONVersVariant().
Tu sérialises d'un côté, donc tu désérialises de l'autre. Le format n'est
peut-être pas tout à fait le même d'une fonction à une autre.
Désolé pourle retard mais je viens de faire le test à l'instant.
Effectivement, ce sont les mêmes ... mais pas trop !
Avec Désérialise() tout passe en un bloc
Merci
--
Cordialement,
Pierre
Signaler
0
0
→ Revenir à WINDEV Mobile 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
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