Pagetitle |
---|
| Classe JsonObject |
---|
| Classe JsonObject |
---|
|
A classe JsonObject representa um objeto JSON (JavaScript Object Notation). Após ser populado, o valor de cada par chave-valor do JsonObject poderá ser acessados diretamente utilizando sua chave entre colchetes, similar à um vetor. HierarquiaConstrutores Inclusão de trecho |
---|
| Classe JsonObject - Construtores |
---|
| Classe JsonObject - Construtores |
---|
nopanel | true |
---|
|
PropriedadesAs propriedades serão criadas dinamicamente conforme o uso do objeto.
Métodos Inclusão de trecho |
---|
| Classe JsonObject - Métodos |
---|
| Classe JsonObject - Métodos |
---|
nopanel | true |
---|
|
Exemplos Bloco de código |
---|
collapselanguage | cpp |
---|
theme | Eclipse | title | Exemplo 1 |
---|
linenumbers | true | | false |
---|
| #include "protheus.ch"
user function tstJsonObjectexemploJson()
local oJson
local cTextJson
local wrk
wrkret
oJson := JsonObject():newNew()
wrk['FABRICA'] := 'Wemagete' //cria automaticamente uma propriedade de nome FABRICA
wrk['NOME'] := 'Fissori' //cria automaticamente uma propriedade de nome NOME
Conout(wrk['FABRICA'])
Conout(wrk:nome)
FreeObj(wrk)
return
cTextJson := '{"itens":[{"joao":"maria","josé":"joana","joaquim":"joaquina","juscelino":"joice"},{"limao":"verde","banana":"amarelo","maça":"vermelho","amora":"roxo"}]}'
ret := oJson:FromJson(cTextJson)
if ValType(ret) == "C"
conout("Falha ao transformar texto em objeto json. Erro: " + ret)
return
endif
u_PrintJson(oJson)
FreeObj(oJson)
return
user function PrintJson(jsonObj)
local i, j
local names
local lenJson
local item
lenJson := len(jsonObj)
if lenJson > 0
for i := 1 to lenJson
u_PrintJson(jsonObj[i])
next
else
names := jsonObj:GetNames()
for i := 1 to len(names)
conout("Label - " + names[i])
item := jsonObj[names[i]]
if ValType(item) == "C"
conout( names[i] + " = " + cvaltochar(jsonObj[names[i]]))
else
if ValType(item) == "A"
conout("Vetor[")
for j := 1 to len(item)
conout("Indice " + cValtochar(j))
u_PrintJson(item[j])
next j
conout("]Vetor")
endif
endif
next i
endif
return
/*
Resultado Impresso no console.log:
Label - itens
Vetor[
Indice 1
Label - joaquim
joaquim = joaquina
Label - juscelino
juscelino = joice
Label - josé
josé = joana
Label - joao
joao = maria
Indice 2
Label - banana
banana = amarelo
Label - amora
amora = roxo
Label - maça
maça = vermelho
Label - limao
limao = verde
]Vetor
*/ |
Observações: O objeto JSON é um objeto dinâmico e suas propriedades são criadas automaticamente quando utilizadas como no exemplo acima. Disponível apenas para P12 build 131227a a partir da versão 13.2.3.6. |