ValorElementoJson

Esta função serve para ler o valor de um campo específico de um arquivo Json.

Sintaxe: Funcao ValorElementoJson(Alfa aJson, Alfa aGrupo, Alfa aElemento, Alfa End aValor);

Parâmetros:

Nome Tipo Descrição
aJson Alfa Recebe o conteúdo de um arquivo Json.
aGrupo Alfa Recebe os grupos que devem ser posicionados para ler o elemento do Json (os grupos devem ser separados por ";").
aElemento Alfa Recebe o campo a ser lido do Json.

Tipo de retorno: aValor: variável alfanumérica que recebe o valor do campo lido do Json.

Exemplo:

Criar um arquivo .txt que contenha as seguintes informações e salvá-lo como "ValorElementoJson.txt"

{

"Documento": {

"Id": 183189,

"Descricao": "Descritivo do documento",

"CodigoErp": "9999",

"Comentarios": [

{

"Id": 173085,

"Commentario": "Produto 1101, e-mail: x@x.com.br"

}

]

}

}

Criar uma regra LSP conforme indicado abaixo, que fará a leitura das informações que constam nesse arquivo "ValorElementoJson.txt".

Definir Alfa aCaminhoArquivoJSON;

Definir Alfa aLinha_Lida;

Definir Alfa aConteudoJSON;

Definir Alfa aId_Lido;

Definir Alfa aDescricao_Lida;

Definir Alfa aCodigoErp_Lida;

Definir Alfa aRetorno;

 

@ Caminho completo com a extensão do arquivo que contém o JSON a ser lido @

aCaminhoArquivoJSON = "C:\\ValorElementoJson\\ValorElementoJson.txt";

 

@ Se existe um caminho de arquivo e se o arquivo existe @

Se ((aCaminhoArquivoJSON <> "") e (ArqExiste(aCaminhoArquivoJSON)))

inicio

aConteudoJson = "";

@ Abre o arquivo JSON com base no caminho especificado @

@ O arquivo é carregado para a memória na variável fArquivo @

fArquivo = Abr ir(aCaminhoArquivoJSON, LerNL);

 

@ Percorre todas as linhas do arquivo JSON carregado @

@ A cada interação a variável aLinha_Lida é preenchida com uma nova linha @

Enquanto (LerNL(fArquivo, aLinha_Lida) = 1)

inicio

 

@ Constrói o conteúdo JSON conforme cada linha do arquivo é percorrida @

aConteudoJSON = aConteudoJSON + aLinha_Lida;

fim;

 

@ Fecha o arquivo que havia sido carregado em memória @

Fechar(fArquivo);

 

@ Lerá o conteúdo JSON buscando dentro da tag "documento" o elemento"id" @

@ o valor encontrado será inserido na variável "aId_Lido" @

ValorElementoJson(aConteudoJSON, "documento", "id", aId_Lido);

 

@ Lerá o conteúdo JSON buscando dentro da tag "documento" o elemento"descricao" @

@ o valor encontrado será inserido na variável "aDescricao_Lida" @

ValorElementoJson(aConteudoJSON, "documento", "descricao",aDescricao_Lida);

 

@ Lerá o conteúdo JSON buscando dentro da tag "documento" o elemento"codigoerp" @

@ o valor encontrado será inserido na variável "aCodigoErp_Lida" @

ValorElementoJson(aConteudoJSON, "documento", "codigoerp",aCodigoErp_Lida);

 

@ Constrói a variável aRetorno com todas as informações lidas do arquivo JSON @

aRetorno = "Dados lidos do Json: " +

"ID: " + aId_Lido + " " +

"Descrição: " + aDescricao_Lida + " " +

"Código no ERP: " + aCodigoErp_Lida + " ";

 

@ Exibe em tela o valor da variável aRetorno com as informações lidas do arquivoJSON @

Mensagem(Retorna, aRetorno);

fim;

Observações: o parâmetro de Grupo deve informar o caminho entre os nós do Json para chegar até o campo a ser lido. Por exemplo: para ler o campo id que está dentro do grupo "Comentarios" e, que por sua vez está dentro do grupo "Documento", deve-se enviar os grupos como "Documento;Comentarios".

Este artigo ajudou você?