DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des chaînes
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
VariantVersJSON (Fonction)
En anglais : VariantToJSON
Convertit le contenu d'une variable de type Variant au format JSON.
Exemple
Personne est un Variant
Personne.Nom = "DUPONT"
Personne.Prenom = "Michel"

Trace(VariantVersJSON(Personne))


// Affiche : { "Nom":"DUPONT", "Prenom":"Michel" }
Syntaxe
<Résultat> = VariantVersJSON(<Variant> [, <Options>])
<Résultat> : Chaîne de caractères
Résultat de la conversion au format JSON.
<Variant> : Variable de type Variant
Nom de la variable de type Variant à convertir au format JSON.
<Options> : Constante de type Entier
Option de mise en forme du JSON :
psdMinifiéGénère un JSON en supprimant les espaces inutiles (retours à la ligne, caractères d'espacement, ...).
psdMiseEnFormeGénère un JSON avec des retours à la ligne et une indentation.

AndroidWidget Android Ce paramètre n'est pas disponible.
Classification Métier / UI : Code neutre
Composante : wd300vm.dll
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Encodage d'une structure JSON à passer en paramètre d'une URL
Les champ SAI_Nom et SAI_Prenom peuvent contenir de caractères interdits dans les URL. Pour s'en sortir :

sMyBufferJson est une chaîne UNICODE
vMyJSON est un Variant

sMyURLEncode est une chaîne ANSI
vMyJSON = Null
vMyJSON.Create_from = "MOBILE"
vMyJSON.Cible = gsMyCibleCreate_User
vMyJSON.Email = SAI_NewEmail
vMyJSON.Organisme = tabOrganisme[1]
vMyJSON.Nom = SAI_Nom
vMyJSON.Prenom = SAI_Prenom
vMyJSON.Telephone = SAI_Téléphone
sMyBufferJson=VariantVersJSON(vMyJSON)

sMyURLEncode= "https://monDomaine.fr/maPage.php?JSON="+Encode(Encode(sMyBufferJson, encodeURLDepuisAnsi), encodeURLParamètre)
Pascal BOULESTEIX
02 mar. 2021
Attention ! Conversion automatique
Si un membre de votre variant contient un type buffer.
Celui-ci est transformé automatiquement en Base64.
Ce n'est pas expliquer dans la doc !

Si vous encodez une image en base64 dans votre variant il sera encodé deux fois en base64 !!!

Rajouter une option qui évite une transformation automatique piégeante du coup.
Damien
13 mar. 2020
il manque une option
il faudrait ajouter une option à VariantVersJson : psdAvecAccent
qui ne transforme pas les accents en \u00..
par exemple : "prénom" ne deviendrait pas "pr\u00e9nom"
plidy
12 jan. 2019

Dernière modification : 17/09/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale