DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Types du WLangage
  • Importation de fichiers au format JSON
  • Affectation et lecture
  • Propriétés spécifiques à la description des variables de type JSON
  • Parcours des éléments d'une variable JSON
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Le type JSON permet de simplifier les manipulations des données au format JSON.
Exemple
V est un JSON
jedi est un JSON = [
{
"id": 5,
"name": "Luke Skywalker",
"pilotingScore": 98,
"shootingScore": 56,
"isForceUser": true
}
]
Syntaxe

Déclaration et affectation d'un type JSON Masquer les détails

<Nom de la variable> est un JSON = <Valeur>

OU
 <Nom de la variable> est un JSON
 <Nom de la variable> = <Valeur>
<Nom de la variable> :
Nom de la variable à déclarer.
<Valeur> :
Valeur à affecter à la variable. Une variable de type JSON peut être affectée avec :
  • NULL,
  • un booléen (Vrai ou Faux),
  • un numérique,
  • une date (convertie automatiquement en chaîne au format RFC),
  • une chaîne Ansi ou Unicode contenant une donnée,
  • une chaîne Ansi contenant des données au format JSON.
Remarques

Importation de fichiers au format JSON

Les variables de type JSON peuvent être déclarées en indiquant un document exemple (un fichier texte). La structure de ce document sera lue par WINDEV, WEBDEV et WINDEV Mobile. Il sera ainsi possible de disposer de la complétion automatique sur les noms des noeuds directement dans l'éditeur de code.
Pour déclarer une variable de type JSON avec un document exemple :
  1. Ajoutez le document texte dans le projet grâce à une des méthodes suivantes :
    • sous le volet "Projet", dans le groupe "Projet", déroulez " Liste des éléments" et cliquez sur "Liste des éléments du projet". La liste des éléments du projet s'affiche. Cliquez sur le bouton "Ajouter" et sélectionnez le document texte.
    • réalisez un "Drag and Drop" du fichier vers le dossier "Descriptions externes" du volet "Explorateur de projet".
    • dans le volet "Explorateur de projet", sélectionnez le dossier "Descriptions externes", puis l'option "Importer un XML ou un JSON dans ce projet" du menu contextuel.
  2. Le document JSON apparaît sous le dossier "Descriptions externes" de l'explorateur de projet. Il est possible de visualiser sa structure.
  3. Déclarez la variable de la façon suivante :
    <Nom de la variable> est un JSON , description =  <Nom du document>

    ou
    <Nom de la variable> est un JSON <description =  "Nom du document">

    peut correspondre au nom du document exemple (avec ou sans son extension).
    Remarque : Cette déclaration peut être obtenue automatiquement en "droppant" le nom du document texte directement depuis l'explorateur de projet.
  4. Vous pouvez maintenant accéder directement aux noeuds de la variable par leurs noms. Ces noms sont proposés automatiquement par le mécanisme de complétion automatique de l'éditeur de code.
Remarque : Il est également possible d'obtenir l'assistance et la vérification à la compilation sur une sous-partie du JSON en utilisant la syntaxe suivante :
v2 est un JSON, description="FichierJSON.Membre.SousMembre"

v2 est un JSON <description="FichierJSON.Membre.SousMembre">

Affectation et lecture

  • Affectation d'une variable JSON
    La notation "j = ..." essaie d'analyser la valeur comme une chaîne au format JSON. Cette notation est "presque" équivalent à la notation "j..FormatJSON = ..." sauf si la chaîne au format JSON est invalide : elle est alors recopiée directement sans interprétation, comme valeur de l'élément JSON.
    La notation "j..Membre = ..." affecte la valeur du membre. Cette notation est équivalente à "j..Membre..Valeur = ... ".
  • Lecture d'une variable JSON
    La notation "... = j" renvoie la chaîne au format JSON correspondant au contenu de la variable. Cette notation est équivalente à "... = j..FormatJSON".
    La notation "... = j..Membre" renvoie la valeur du membre. Cette notation est équivalente à "... = j..Membre..Valeur".

Propriétés spécifiques à la description des variables de type JSON

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type JSON :
Nom de la propriétéType manipuléEffet
ExisteBooléen
  • Vrai si l'élément existe,
  • Faux dans le cas contraire.
Cette propriété est disponible en lecture seulement.
FormatJSONChaîne de caractèresChaîne au format JSON correspondant à la valeur de l'élément. Si cette chaîne n'est pas au format JSON, un warning est affiché.
MembreTableau de variables JSONMembres de la variable JSON.
NomChaîne de caractèresNom du membre. Correspond à chaîne vide ("") s'il n'y a pas de membre.
OccurrenceEntierNombre d'éléments :
  • 0 pour les éléments simples,
  • 1 pour les objets,
  • Nombre d'éléments pour les tableaux.
Cette propriété est disponible en lecture seulement.
TypeEntierType de l'élément.
Cette propriété est disponible en lecture seulement.
ValeurTous types
  • Valeur d'un élément simple,
  • NULL pour un élément complexe.

Parcours des éléments d'une variable JSON

Pour parcourir les éléments d'une variable de type JSON, il suffit d'utiliser une boucle de type POUR.
JS est un JSON
POUR i = 1 Ã€ JS..Membre..Occurrence
Trace(JS..Membre[i]..Nom)
FIN
  • Exemple de copie d'un d'une variable JSON vers une autre variable JSON avec parcours d'un tableau présent dans le JSON :
    JsonApplication1 est un JSON <description="ListeElementsChamps1">
    JsonApplication2 est un JSON <description="ListeElementsChamps2">

    POUR TOUT JsonElement1 DE JsonApplication1.ArrElement
    JSonElement2 est un JSON <description="ListeElementsChamps1.TabElement">
    JSonElement2.Nom = JsonElement1.Name

    POUR TOUT JSonChamp2 DE JsonElement1.ArrControl
    JSonChamp2 est un JSON <description="ListeElementsChamps1.TabElement.TabChamp">
    JSonChamp2.ChangementPossible = JsonElement1.ChangementPossible
    JSonChamp2.Libelle = JsonElement1.Libelle
    JSonChamp2.Nom = JsonElement1.Nom
    JSonChamp2.Parent = JsonElement1.Parent
    JSonChamp2.Type = JsonElement1.Type
    Ajoute(JSonElement2.TabChamp, JSonChamp2)
    FIN

    Ajoute(JsonApplication2.TabElement, JSonElement2)
    FIN
Version minimum requise
  • Version 24
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 09/02/2024

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