ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage syntax / 
  • Importing files in JSON format
  • Assignment and reading
  • Properties specific to JSON variables
  • Looping through the elements of a JSON variable
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
The JSON type makes it possible to simplify actions on data in JSON format.
Example
V is JSON
jedi is JSON = [
{
"id": 5,
"name": "Luke Skywalker",
"pilotingScore": 98,
"shootingScore": 56,
"isForceUser": true
}
]
Syntax

Declaring and assigning a JSON type Hide the details

<Variable name> is JSON = <Value>

OR
 <Variable name> is JSON
 <Variable name> = <Value>
<Variable name>:
Name of the variable to declare.
<Value>:
Value that will be assigned to the variable. A JSON variable can be assigned with:
  • NULL,
  • a Boolean (True or False),
  • a numeric,
  • a date (automatically converted into string in RFC format),
  • an Ansi or Unicode string that contains data,
  • an Ansi string that contains data in JSON format.
Remarks

Importing files in JSON format

JSON variables can be declared by specifying a sample document (a text file). The structure of this document will be read by WINDEV, WEBDEV and WINDEV Mobile. Therefore, the automatic completion will be available for the names of nodes in the code editor.
To declare a JSON variable with a sample document:
  1. Add the text document to the project using one of the following methods:
    • on the "Project" tab, in the "Project" group, expand " List of elements" and click "List of project elements". The list of project elements is displayed. Click on "Add" and select the text document.
    • drag the file and drop it in the "External descriptions" folder of the "Project explorer" pane.
    • in the "Project explorer" pane, select the "External descriptions" folder, then "Import an XML or JSON into this project" in the context menu.
  2. The JSON document appears in the "External descriptions" folder of the Project explorer. You have the ability to see its structure.
  3. Declare the variable as follows:
    <Nom de la variable> est un JSON , description =  <Nom du document>

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

    can correspond to the name of the sample document (with or without extension).
    Remark: This declaration can be made automatically by dragging and dropping the name of the text document directly from the project explorer.
  4. You can directly access the variable nodes by their names. These names are automatically proposed by the automatic completion mechanism of the code editor.
Remark: It is also possible to obtain compilation assistance and verification on a sub-part of the JSON by using the following syntax:
v2 est un JSON, description="FichierJSON.Membre.SousMembre"

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

Assignment and reading

  • Assigning a JSON variable
    The syntax "j = ..." tries to analyze the value as a JSON string. This syntax is "almost" equivalent to "j..JSONFormat = ..." except if the JSON string is invalid: it is then copied directly without being interpreted, as the value of the JSON element.
    The "j..Member = ..." syntax assigns the value of the member. This syntax is equivalent to "j..Member..Value =... ".
  • Reading a JSON variable
    The "... = j" syntax returns the JSON string that corresponds to the content of the variable. This syntax is equivalent to "... =j..JSONFormat ".
    The syntax "... = j..Member" returns the value of the member. This syntax is equivalent to "... =j..Member..Value".

Properties specific to JSON variables

The following properties can be used to handle JSON variables:
Property nameType usedEffect
CountIntegerNumber of elements:
  • 0 for simple elements,
  • 1 for objects,
  • Number of elements for arrays.
This property is read-only.
ExistBoolean
  • True if the element exists,
  • False otherwise.
This property is read-only.
JSONFormatCharacter stringJSON string corresponding to the value of the element. If this string is not in JSON format, a warning is displayed.
MemberArray of JSON variablesMembers of the JSON variable.
Name Character stringMember name. Corresponds to empty string ("") if there is no member.
TypeIntegerType of element.
This property is read-only.
ValueAll types
  • Value of a simple element,
  • NULL for a complex element.

Looping through the elements of a JSON variable

To loop through the elements of a JSON variable, simply use a FOR loop.
JS is JSON
FOR i = 1 TO JS..Member..Count
Trace(JS..Member[i]..Name)
END
  • Example of copying an Variable JSON to another Variable JSON with a path for an array present in the 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
Minimum version required
  • Version 24
This page is also available for…
Comments
Navegar nos dados de um json
js is JSON
FOR i = 1 _TO_ js..Member..Count
js..Member[i]..Name
END
Boller
23 Oct. 2023

Last update: 02/10/2024

Send a report | Local help