PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WM - Como Ler um Json externo utilizando Deserialize
WM - Como Ler um Json externo utilizando Deserialize
Débuté par Reimann Rossini CAIO, 08 juin 2016 16:14 - 2 réponses
Membre enregistré
1 message
Posté le 08 juin 2016 - 16:14
Agradeço ao Adriano e Vilani pela ajuda.

Exemplo Json utilizado (teste.json).

{
"Versao": 20,
"Endereco": "http://seu_servidor/teste.json",
"Postagens": [
{
"Titulo": "Teste Json",
"Texto": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"Imagem": "Banner1.png"
}, {
"Titulo": "Json 2, o Retorno!",
"Texto": "Windev Mobile 20",
"Imagem": "Banner2.png"
}
]
}


Antes de consumir o serviço, é necessário criar a estrutura do Json no Windev.

Dados is structure

Titulo is string
Texto is string
Imagem is string

END

EstruturaDados is structure

Versao is int
Endereco is string
Postagens is array of Dados

END


Com a estrutura pronta é só ler o Json (nesse caso via HttpRequest) e utilizar a função Deserialize. (http://help.windev.com/en-US/…)

ResCode is Buffer

ResStart is boolean = HTTPRequest("http://seu_servidor/teste.json")
IF ResStart = True THEN
ResCode = HTTPGetResult()

END

Teste is EstruturaDados

Deserialize(Teste, ResCode, psdJSON)

Info(Teste.Versao)

FOR EACH Postagem OF Teste.Postagens

TableAdd(Table1, Postagem.Titulo + TAB + Postagem.Texto)

END
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 08 juin 2016 - 16:20
:thank you:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
203 messages
Popularité : +25 (25 votes)
Posté le 07 décembre 2016 - 18:46