4D v16.3JSON Stringify |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
JSON Stringify
|
JSON Stringify ( valor {; *} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
valor | Objeto, Array objeto, String, Real, Data, Hora |
![]() |
Dados a converter em cadeia JSON | |||||
* | Operador |
![]() |
Melhorar o formato | |||||
Resultado | Texto |
![]() |
Cadeia que contém o texto JSON serializado | |||||
O comando JSON Stringify converte o parâmetro valor em uma cadeia JSON. Este comando serializa os dados em JSON, realiza a ação inversa do comando JSON Parse.
Passe os dados a serializar em valor. Se podem expressar em forma escalar (cadeia, número, data ou hora) ou por meio de um objeto 4D (ou um array de objetos).
No caso de um objeto, que pode incluir todo tipo de valores (ver o parágrafo Tipos de dados JSON). O formato JSON deve respeitar as seguintes regras:
Conversão 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 a meia noite
Conversão de uma cadeia que contém caracteres especiais:
$s:=JSON Stringify("{\"name\":\"john\"}")
// $s="{\\"name\\":\\"john\\"}"
$p:=JSON Parse($s)
// $p={"name":"john"}
Exemplo utilizando um ponteiro em uma variável:
C_OBJECT($MyTestVar)
C_TEXT($name ;$jsonstring )
OB SET($MyTestVar;"name";->$name) // definição do objeto
// $MyTestVar= {"name":"->$name"}
$jsonstring :=JSON Stringify($MyTestVar)
// $jsonstring ="{"name":""}"
//...
$name:="Smith"
$jsonstring :=JSON Stringify($MyTestVar)
//$jsonstring = "{"name" : "Smith"}"
Serialização de um 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"}"
Exemplos de serialização de um objeto 4D com e sem o 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}
A vantagem deste formato é clara quando o JSON se mostra em uma área web:
Produto: 4D
Tema: JSON
Número
1217
Criado por: 4D v14
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)