4D v16.3JSON Stringify |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
JSON Stringify
|
JSON Stringify ( valor {; *} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
valor | Objeto, Array objeto, Cadena, Real, Fecha, Hora |
![]() |
Datos a convertir en cadena JSON | |||||
* | Operador |
![]() |
Mejorar el formato | |||||
Resultado | Texto |
![]() |
Cadena que contiene el texto JSON serializado | |||||
El comando JSON Stringify convierte el parámetro valor en una cadena JSON. Este comando serializa los datos en JSON, realiza la acción inversa del comando JSON Parse.
Pase los datos a serializar en valor. Se pueden expresar en forma escalar (cadena, número, fecha u hora) o por medio de un objeto 4D (o un array de objetos).
En el caso de un objeto, que puede incluir todo tipo de valores (ver el párrafo Tipos de datos JSON). El formato JSON debe respetar las siguientes reglas:
Conversión de valores escalares:
$vc:=JSON Stringify("Eureka!") // "Eureka!"
$vel:=JSON Stringify(120) // "120"
$vd:=JSON Stringify(!28/08/2013!) // "2013-08-27T22:00:00Z"
$vh:=JSON Stringify(?20:00:00?) // "72000000" segundos desde la media noche
Conversión de una cadena que contiene caracteres especiales:
$s:=JSON Stringify("{\"name\":\"john\"}")
// $s="{\\"name\\":\\"john\\"}"
$p:=JSON Parse($s)
// $p={"name":"john"}
Ejemplo utilizando un puntero en una variable:
C_OBJECT($MyTestVar)
C_TEXT($name ;$jsonstring )
OB SET($MyTestVar;"name";->$name) // definición del objeto
// $MyTestVar= {"name":"->$name"}
$jsonstring :=JSON Stringify($MyTestVar)
// $jsonstring ="{"name":""}"
//...
$name:="Smith"
$jsonstring :=JSON Stringify($MyTestVar)
//$jsonstring = "{"name" : "Smith"}"
Serialización de un objeto 4D:
C_TEXT($varjsonTextserialized)
C_OBJECT($Contact)
OB SET($Contact;"firstname";"Alan")
OB SET($Contact;"lastname";"Monroe")
OB SET($Contact;"age";40)
OB SET($Contact;"phone";"[555-0100,555-0120]")
$varjsonTextserialized:=JSON Stringify($Contact)
// $varjsonTextserialized = "{"lastname":"Monroe","phone":"[555-0100,
// 555-0120]","age":40,"firstname":"Alan"}"
Ejemplos de serialización de un objeto 4D con y sin el parámetro *:
C_TEXT($MyContact)
C_TEXT($MyPContact)
C_OBJECT($Contact;$Children)
OB SET($Contact;"lastname";"Monroe";"firstname";"Alan")
OB SET($Children;"firstname";"Jim";"age";"12")
OB SET($Contact;"children";$Children)
$MyContact:=JSON Stringify($Contact)
$MyPContact:=JSON Stringify($Contact;*)
//$MyContact= {"lastname":"Monroe","firstname":"Alan","children":{"firstname":"John","age":"12"}}
//$MyPContact= {\n\t"lastname": "Monroe",\n\t"firstname": "Alan",\n\t"children": {\n\t\t"firstname": "John",\n\t\t"age": "12"\n\t}\n}
La ventaja de este formato es clara cuando el JSON se muestra en un área web:
Producto: 4D
Tema: JSON
Número
1217
Creado por: 4D v14
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)