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".