4D v16.3JSON Parse |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
JSON Parse
|
JSON Parse ( cadeiaJSON {; tipo} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
cadeiaJSON | String |
![]() |
Cadeia em JSON a analisar | |||||
tipo | Inteiro longo |
![]() |
Tipo no qual converter os valores | |||||
Resultado | Booleano, Objeto, Ponteiro, Real, Texto |
![]() |
Valores extraídos da cadeia JSON | |||||
O comando JSON Parse analisa o conteúdo de uma cadeia com formato JSON e extraem os valores que podem armazenar em um campo ou variável 4D. Este comando não realiza os dados JSON, realiza a ação inversa do comando JSON Stringify.
Em cadeiaJSON, passe a cadeia com formato JSON cujo conteúdo deseja analisar. Esta cadeia deve ter o formato correto, caso contrário é gerado um erro de análise.
Nota: Se utilizar ponteiros, deve chamar ao comando JSON Stringify antes de chamar a JSON Parse.
Por padrão, se omitir o parâmetro tipo, 4D tentará converter o valor obtido no tipo da variável ou do campo que se utiliza para armazenar os resultados (se foi definido). Caso contrário, 4D tenta deduzir seu tipo. Também pode forçar a interpretação do tipo passando o parâmetro tipo: passe uma das seguintes constantes, disponíveis no tema Tipos de campos e variáveis:
Constante | Tipo | Valor |
Is Boolean | Inteiro longo | 6 |
Is date | Inteiro longo | 4 |
Is longint | Inteiro longo | 9 |
Is object | Inteiro longo | 38 |
Is real | Inteiro longo | 1 |
Is text | Inteiro longo | 2 |
Exemplos de conversões 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\":\"jean\"}")
// $o = {"name":"john"} (4D object)
C_BOOLEAN($b)
$b:=JSON Parse("{\"manager\":true}";Is Boolean) // $b=true
Exemplo de conversão de dados de tipo data:
$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 exemplo mostra o uso combinado dos comandos JSON Stringify e JSON Parse:
#code4D]C_TEXT($JSONContact)
C_OBJECT($Contact;$Contact2)
$Contact:=New object("name";"Monroe";"firstname";"Alan")
// JSON Stringify: conversão de um objeto em uma string JSON
$JSONContact:=JSON Stringify($Contact)
// JSON Parse: conversão de string JSON em um novo objeto
$Contact2:=JSON Parse($JSONContact)[#/code4D]
Produto: 4D
Tema: JSON
Número
1218
Criado por: 4D v14
JSON validator
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)