AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / 
  • 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
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
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.
Propiedades

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).
    Nota: Esta declaración puede obtenerse automáticamente "arrastrando y soltando" el nombre del documento de texto directamente desde el panel "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.
Nota: También es posible obtener asistencia y verificación en la compilación en una subparte del JSON utilizando la siguiente sintaxis:
v2 is JSON, description="JSONFile.Member.SubMember"

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

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 no es válida. En este caso, la cadena se copia directamente sin ser interpretada, como valor del elemento JSON.
    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.
ExistBooleanEsta propiedad está disponible en modo de lectura y escritura.
En modo de lectura, la propiedad Exist se establece en:
  • True si existe el elemento,
  • False en caso contrario.
En modo de escritura, si la propiedad Exist se establece en:
  • True, significa que el elemento/miembro ha sido validado,
  • False, significa que el elemento/miembro ha sido eliminado.
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: 13/06/2025

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