AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Sintaxis WLanguage / 
  • Importar archivos en formato JSON
  • Leer y asignar un valor a una variable de tipo JSON
  • Propiedades específicas de las variables de tipo JSON
  • Recorrer los elementos de una variable de tipo JSON
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
El tipo JSON simplifica la manipulación de datos en formato JSON.
Ejemplo
V is JSON
jedi is JSON = [
	{
	"id": 5,
	"name": "Luke Skywalker",
	"pilotingScore": 98,
	"shootingScore": 56,
	"isForceUser": true
	}
]
Sintaxis

Declarar y asignar un valor a una variable de tipo JSON Ocultar los detalles

<Variable name> is JSON = <Value>

OR
 <Variable name> is JSON
 <Variable name> = <Value>
<Variable name>:
Nombre de la variable a declarar.
<Value>:
Valor a asignar a la variable. Los siguientes valores se pueden asignar a una variable de tipo JSON:
  • NULL,
  • un booleano (True o False),
  • un numérico,
  • una fecha (convertida automáticamente en cadena RFC),
  • una cadena Ansi o Unicode con datos,
  • una cadena Ansi con datos en formato JSON.
Observaciones

Importar archivos en formato JSON

Las variables JSON se pueden declarar especificando un documento de ejemplo (un archivo de texto). La estructura del documento será leída por WINDEV, WEBDEV y WINDEV Mobile. Así, el autocompletado estará disponible para los nombres de los nodos en el editor de código.
Para declarar una variable JSON con un documento de ejemplo:
  1. Agregue el documento de texto al proyecto con uno de los siguientes métodos:
    • en la pestaña "Proyecto", en el grupo "Proyecto", despliegue " Lista de elementos" y haga clic en "Lista de elementos del proyecto". La lista de elementos del proyecto se abre. Haga clic en "Agregar" y seleccione el documento de texto.
    • arrastre y suelte el archivo en la carpeta "Descripciones externas" del panel "Explorador de proyectos".
    • en el panel "Explorador de proyectos", seleccione la carpeta "Descripciones externas", y luego la opción "Importar un XML o un JSON a este proyecto" del menú contextual.
  2. El documento JSON aparece en la carpeta "Descripciones externas" del panel Explorador de proyectos. Puede ver su estructura.
  3. Declare la variable de la siguiente manera:
    <Variable name> is JSON, description =  <Document name>

    o
    <Variable name> is JSON <description =  "Document name">

    puede corresponder al nombre del documento de ejemplo (con o sin extensión).
    Observación: Esta declaración puede hacerse automáticamente arrastrando y soltando el nombre del documento de texto directamente desde el explorador de proyectos.
  4. Ahora puede acceder directamente a los nodos de la variable por sus nombres. El mecanismo de autocompletado del editor de código propone estos nombres automáticamente.
Observación: También es posible obtener verificación y asistencia para la compilación en una subparte del archivo JSON utilizando la siguiente sintaxis:
v2 is JSON, description="JSONFile.Member.SubMember"

v2 is JSON, <description="JSONFile.Member.SubMember">

Leer y asignar un valor a una variable de tipo JSON

  • Asignar un valor a una variable JSON
    La sintaxis "j = ..." trata de analizar el valor como una cadena JSON. Esta sintaxis es "casi" equivalente a "j..JSONFormat = ..." excepto si la cadena JSON es inválida: en ese caso, se copia directamente como valor del elemento JSON, sin ser interpretada.
    La sintaxis "j..Member = ..." asigna el valor del miembro. Esta sintaxis es equivalente a "j..Member..Value =... ".
  • Leer una variable JSON
    La sintaxis "... = j" devuelve la cadena JSON que corresponde al contenido de la variable. Esta sintaxis es equivalente a "... =j..JSONFormat ".
    La sintaxis "... = j..Member" devuelve el valor del miembro. Esta sintaxis es equivalente a "... =j..Member..Value".

Propiedades específicas de las variables de tipo JSON

Las siguiente propiedades permiten manipular variables de tipo JSON:
Nombre de la propiedadTipo utilizadoEfecto
CountIntegerNúmero de elementos:
  • 0 para elementos simples,
  • 1 para objetos,
  • Número de elementos para arrays.
Esta propiedad es de solo lectura.
ExistBoolean
  • True si existe el elemento,
  • False en caso contrario.
Esta propiedad es de solo lectura.
JSONFormatCharacter stringCadena JSON que corresponde al valor del elemento. Si esta cadena no está en formato JSON, se muestra una advertencia.
MemberArray de variables JSONMiembros de la variable JSON.
NameCharacter stringNombre del miembro. Corresponde a una cadena vacía ("") si no hay ningún miembro.
TypeIntegerTipo de elemento.
Esta propiedad es de solo lectura.
ValueTodos los tipos
  • Valor de un elemento simple,
  • NULL para un elemento complejo.

Recorrer los elementos de una variable de tipo JSON

Para recorrer los elementos de una variable de tipo JSON, solo debe utilizar un bucle FOR.
JS is JSON
FOR i = 1 TO JS..Member..Count
	Trace(JS..Member[i]..Name)
END
  • Ejemplo: copiar una variable JSON a otra variable JSON recorriendo un array:
    JsonApplication1 is JSON <description="ListElementsControls1">
    JsonApplication2 is JSON <description="ListElementsControls2">

    FOR EACH JsonElement1 OF JsonApplication1.ArrElement
    JSonElement2 is JSON <description="ListElementsControls1.ArrElement">
    JsonElement2.Name = JsonElement1.Name

    FOR EACH JsonControl1 OF JsonElement1.ArrControl
    JsonControl2 is JSON <description="ListElementsControls1.ArrElement.ArrControl">
    JsonControl2.ChangeAllowed = JsonElement1.ChangeAllowed
    JsonControl2.Caption = JsonElement1.Caption
    JsonControl2.Name = JsonElement1.Name
    JsonControl2.Parent = JsonElement1.Parent
    JsonControl2.Type = JsonElement1.Type
    Add(JsonElement2.ArrControl, JsonControl2)
    END

    Add(JsonApplication2.ArrElement, JsonElement2)
    END
Versión mínima requerida
  • Versión 24
Esta página también está disponible para…
Comentarios
Navegar nos dados de um json
js is JSON
FOR i = 1 _TO_ js..Member..Count
js..Member[i]..Name
END
Boller
23 10 2023

Última modificación: 28/03/2024

Señalar un error o enviar una sugerencia | Ayuda local