Nesse vídeo demonstraremos a utilização da classe JSONObject que serve para criar ou ler conteúdos em JSON (conteúdos com chave e valor).
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe316 Converte texto ou arquivo para um objeto JSON @type Function @author Atilio @since 25/02/2023 @see https://tdn.totvs.com/display/tec/Classe+JsonObject @obs **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe316() Local aArea := FWGetArea() Local cJsonText := "" Local jDados Local cError Local aSites Local cMensagem := "" Local nAtual //Monta o JSON que será convertido em um Objeto cJsonText := '{' + CRLF cJsonText += ' "nome":"Atilio",' + CRLF cJsonText += ' "idade":29,' + CRLF cJsonText += ' "gostaDeLer":true,' + CRLF cJsonText += ' "sites":[' + CRLF cJsonText += ' {"nome":"Terminal de Informacao", "url":"terminaldeinformacao.com"},' + CRLF cJsonText += ' {"nome":"Atilio Sistemas", "url":"atiliosistemas.com"}' + CRLF cJsonText += ' ]' + CRLF cJsonText += '}' + CRLF //Transformando o JSON (texto) em um objeto jDados := JsonObject():New() cError := jDados:FromJson(cJsonText) //Se tiver algum erro no Parse, encerra a execução IF ! Empty(cError) FWAlertError("Houve um erro na conversão do texto para objeto: " + cErro, "Falha no 'parse' do JSON") Else //Começa a montar uma mensagem cMensagem += "Nome: " + jDados:GetJsonObject('nome') + CRLF + CRLF //Busca os sites aSites := jDados:GetJsonObject('sites') //Se encontrou um Array, percorre adicionando a mensagem If ValType(aSites) == "A" For nAtual := 1 To Len(aSites) cMensagem += "Url: " + aSites[nAtual]:GetJsonObject("url") + CRLF Next EndIf //Exibindo a mensagem FWAlertInfo(cMensagem, "Exemplo de JsonObject") EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.