PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Variant - JSON
Variant - JSON
Débuté par Alan Baccharetti, 22 sep. 2017 18:27 - 4 réponses
Posté le 22 septembre 2017 - 18:27
J'ai une variable

Personne est un Variant
Personne.Nom = "DUPONT"
Personne.Prenom = "Michel"

Trace(VariantVersJSON(Personne))


// Affiche : { "Nom":"DUPONT", "Prenom":"Michel" }

Comment "effacer" la variable "Prenom" pour que elle ne soit pas deserialiser apres VariantVersJSON ?

J'ai essaye d'affecter NULL, mais il deserialise "null"

Merci
Membre enregistré
2 571 messages
Popularité : +222 (260 votes)
Posté le 23 septembre 2017 - 06:21
Bonjour,

Tout simplement:
Personne est un Variant
Personne.Nom = "DUPONT"

Trace(VariantVersJSON(Personne))


--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Membre enregistré
101 messages
Popularité : +7 (7 votes)
Posté le 26 septembre 2017 - 17:29
Salut,

Si le but du jeu est de réutiliser le variant, il suffit de l'affecter à Null avant de reprendre.
Exemple :

v est un Variant
v.nom = "DUPONT"
v.prenom = "Jean"

Trace(VariantVersJSON(v))
// Affiche : { "nom":"DUPONT", "prenom":"Jean" }


v = Null
v.nom = "DURAND"

Trace(VariantVersJSON(v))
// Affiche : { "nom":"DURAND" }


--
@+
Maax°(51)°
Posté le 15 novembre 2017 - 20:29
Merci mais mon but est vraiment d'effacer une valeur.

Par exemple je lis un fichier en format json, avec x membrevariant.

Je veux en effacer un certain nombre de membre que je ne connais pas a l'avance, et reconvertir en json "nettoyé"

Merci
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 24 janvier 2023 - 15:30
Bonjour Alan,

je déterre et remonte ce vieux fil mais comme j'ai trouvé la solution je réponds pour ceux (comme moi) qui tomberont ici.

Pour supprimer le prenom (dans cet exemple) faut utiliser la syntaxe suivante :
Supprime(v..Membre,2)

Le code complet :
v est un Variant
v.nom = "DUPONT"
v.prenom = "Jean"

Trace(VariantVersJSON(v))
// Affiche : { "nom":"DUPONT", "prenom":"Jean" }

Supprime(v..Membre,2)
v.nom = "DURAND"

Trace(VariantVersJSON(v))
// Affiche : { "nom":"DURAND" }


La propriété ..Membre sur un variant retourne un tableau de variant, la fonction Supprime va simplement supprimer un des éléments (selon l'indice spécifié) et vous obtenez ce que vous désirez ! :)