4D v16.3

JSON Parse

Inicio

 
4D v16.3
JSON Parse

JSON Parse 


 

JSON Parse ( cadenaJSON {; tipo} ) -> Resultado 
Parámetro Tipo   Descripción
cadenaJSON  Cadena in Cadena en JSON a analizar
tipo  Entero largo in Tipo en el cual convertir los valores
Resultado  Booleano, Objeto, Puntero, Real, Texto in Valores extraídos de la cadena JSON

El comando JSON Parse analiza el contenido de una cadena con formato JSON y extrae los valores que puede almacenar en un campo o variable 4D. Este comando deserializa los datos JSON, realiza la acción inversa del comando JSON Stringify.

En cadenaJSON, pase la cadena con formato JSON cuyo contenido desea analizar. Esta cadena debe tener el formato correcto, de lo contrario se genera un error de análisis.
JSON Parse por lo tanto puede ser utilizado para validar cadenas JSON. 

Nota: si utiliza punteros, debe llamar al comando JSON Stringify antes de llamar a JSON Parse.

Por defecto, si se omite el parámetro tipo, 4D intentará convertir el valor obtenido en el tipo de la variable o del campo que se utiliza para almacenar los resultados (si se ha definido). De lo contrario, 4D intenta deducir su tipo. También puede forzar la interpretación del tipo pasando el parámetro tipo: pase una de las siguientes constantes, disponibles en el tema Tipos de campos y variables:

Constante Tipo Valor
Is Boolean Entero largo 6
Is date Entero largo 4
Is longint Entero largo 9
Is object Entero largo 38
Is real Entero largo 1
Is text Entero largo 2


Notas:

  • Los valores de tipo Real deben ser incluidos en el rango ± 10.421e±10
  • En los valores de tipo de texto, todos los caracteres especiales deben ser escapados, incluyendo las comillas (ver ejemplos)
  • Las fechas JSON deben estar en el formato "\"YYYY-MM-DDTHH:mm:ssZ\"". El comando considera que la fecha 4D contiene una hora local y no GMT.

Ejemplos de conversiones simples:

 C_REAL($r)
 $r:=JSON Parse("42.17") //$r = 42,17 (Real)
 
 C_LONGINT($el)
 $el:=JSON Parse("120.13";Is longint//$el=120
 
 C_TEXT($t)
 $t:=JSON Parse("\"Year 42\"";Is text// $t="Year 42" (text)
 
 C_OBJECT($o)
 $o:=JSON Parse("{\"name\":\"john\"}")
  // $o = {"name":"john"} (4D object)
 
 C_BOOLEAN($b)
 $b:=JSON Parse("{\"manager\":true}";Is Boolean// $b=true

Ejemplo de conversión de datos de tipo fecha:

 $test:=JSON Parse("\"1990-12-25T12:00:00Z\"")
  // $test=1990-12-25T12:00:00Z
 C_DATE($date)
 $date:=JSON Parse("\"2008-01-01T12:00:00Z\"";Is date)
  //$date=01/01/08

Este ejemplo muestra el uso combinado de los comandos JSON Stringify y JSON Parse:

 C_TEXT($JSONContact)
 C_OBJECT($Contact;$Contact2)
 $Contact:=New object("name";"Monroe";"firstname";"Alan")
 
  // JSON Stringify: conversion of an object into a JSON string
 $JSONContact:=JSON Stringify($Contact)
 
  // JSON Parse: conversion of JSON string into a new object
 $Contact2:=JSON Parse($JSONContact)



Ver también 

JSON PARSE ARRAY
JSON Stringify
Tipos de campos y variables

 
PROPIEDADES 

Producto: 4D
Tema: JSON
Número 1218

This command can be run in preemptive processes

 
HISTORIA 

Creado por: 4D v14

 
PALABRAS CLAVES 

JSON validator

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)