PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → [WD Mobile 20] Trabalhar com JSON
[WD Mobile 20] Trabalhar com JSON
Iniciado por Willian Fernando, jul., 16 2015 3:03 PM - 1 resposta
Membro registado
123 mensagems
Popularité : +46 (46 votes)
Publicado em julho, 16 2015 - 3:03 PM
Pra quem tem que trabalhar com JSON eis aqui uma breve explicação de como proceder

1- Suponhamos que teríamos este JSON como Retorno de algum WebService ou GET
[{"ID_PRESETS":"1","ID_FILIAL":"1417","DESCRICAO":"PRESET WEB TESTE 1","VALOR":"10","TIPO":0},{"ID_PRESETS":"2","ID_FILIAL":"1417","DESCRICAO":"PRESET WEB TESTE 2"}]

2- Agora teremos que identificar a estrutura do JSON vemos aqui que temos
Primeira Posição = ID_PRESETS (Tipo INT)
Segundo Posição = ID_FILIAL (Tipo INT)
Terceira Posição = DESCRICAO (Tipo STRING)

3- Bom Agora que ja temos a estrutura vamos proceder no codigo WM


//Criar uma Structure de acordo a estrutura que vimos anteriormente
//Atenção esta declaração tem que ser feito no Global Declaration da Window, logo abaixo de PROCEDURE MyWindow() ou no Codigo inicial do projeto

STJsonPresets is structure
nIdPresets is int
nIdFilial is int
sDescricao is string
END

//Feito isso adicione o resultado que obtivestes de um Webservice ou GET a nossa Structure
//Este codigo fiz em um Botão

sResultado is string
sResultado = ws.getPresets(0) //no meu caso estou recuperando todos os registros
arrPresets is array of STJsonPresets //Criamos um array em base a nossa estrutura
Deserialize(arrPresets ,sResultado,psdJSON) //fazemos uso da função Deserialize
//Agora teremos um array carregado com o resultado
Info(arrPresets [1].sDescricao)


Bom Proveito :obrigado:

--
Atte. Willian Fernando
Best Regards Willian Fernando
Membro registado
123 mensagems
Popularité : +46 (46 votes)
Publicado em julho, 17 2015 - 5:11 PM
So corrigindo umas coisas que deu conflito em alguns momentos

//na hora de declarar a Estrutura o itens dela deverão ter o mesmo nome do retorno do JSON
//ANTES PARA o JSON
//////{"ID_PRESETS":"2","ID_FILIAL":"1417","DESCRICAO":"PRESET WEB TESTE 2"}

STJsonPresets is structure
nIdPresets is int
nIdFilial is int
sDescricao is string
END

//COMO DEVE FICAR
//////{"ID_PRESETS":"2","ID_FILIAL":"1417","DESCRICAO":"PRESET WEB TESTE 2"}
STJsonPresets is structure
ID_PRESETS is int
ID_FILIAL is int
DESCRICAO is string
END


--
Atte. Willian Fernando
Best Regards Willian Fernando