PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → WX - Exemplo de como ler as tags de um json caso o desserialize e serialize nao de certo
WX - Exemplo de como ler as tags de um json caso o desserialize e serialize nao de certo
Débuté par BOLLER, 17 jan. 2018 22:18 - 1 réponse
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 17 janvier 2018 - 22:18
Pessoal,

Segue exemplo de como ler as tags de um json caso o desserialize e serialize nao de certo

{
"access_token":"PT3jX8camZdWDUJNRiszFuxnw-GKa259E1Eiykt92IWNefIOVpWcW7yVtG3Cr-1K87keWNdFTRN64vjdaPn3vDIR51fUgZaPdtBM7ouJX0iLTjDOwT4xqlthn_rR9svmujSENIlW_wNKidceAmoykIBjXEDz5cuOvwELXVqBBKf1_zSzXTmGMVo7ifV6QiHZ7DuQt_qvJKWx06nR7CBVrA",
"token_type":"bearer",
"expires_in":1209599,
".issued":"Wed, 17 Jan 2018 18:21:50 GMT",
".expires":"Wed, 31 Jan 2018 18:21:50 GMT"
}



Para pegar os valores das tags do Json segue um exemplo aqui

Ou desserializa ou serializa num array

veja como ficou:


Procedure BuscaValorJson(JsonBuffer, TagIni, TagFin)

PosIni, PosFin is int = 0

Resultado is string = ""

IF JsonBuffer <> "" AND TagIni <> "" AND TagFin <> ""

PosIni = PositionOccurrence(JsonBuffer,TagIni,firstRank,IgnoreCase) + Length(TagIni)

PosFin = PositionOccurrence(JsonBuffer,TagFin,firstRank,IgnoreCase)

IF PosFin <= PosIni THEN

PosFin = PositionOccurrence(JsonBuffer,TagFin,nextRank,IgnoreCase)

END

IF (PosFin-PosIni) > 0

Resultado = Middle(JsonBuffer,PosIni,PosFin-PosIni)

END

ELSE
Resultado = ""
END

RESULT(Resultado)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membre enregistré
3 655 messages
Popularité : +175 (223 votes)
Posté le 17 janvier 2018 - 22:19
Forma de usar

//Usando a procedure acima

bufResultado = Replace(bufResultado,Charact(34),"")

access_token is string = BuscaValorJson(bufResultado,"access_token:",",token_type:")
token_type is string = BuscaValorJson(bufResultado,"token_type:",",expires_in:")
expires_in is string = BuscaValorJson(bufResultado,"expires_in:",",.issued:")
issued is string = BuscaValorJson(bufResultado,".issued:",",.expires:")
expires is string = BuscaValorJson(bufResultado,".expires:","}")

ArrResultado is array of string
Add(ArrResultado,access_token)
Add(ArrResultado,token_type)
Add(ArrResultado,expires_in)
Add(ArrResultado,issued)
Add(ArrResultado,expires)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/