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 salvar ele como "ValorElementoJson.txt"
{
"Documento": {
"Id": 183189,
"Descricao": "1101",
"CriadoPor": "x@email.com.br",
"AtualizadoPor": "x1@email.com.br",
"CodigoErp": "1101",
"Comentarios": [
{
"Id": 173085,
"Commentario": "Produto 1101, e-mail: x@x.com.br"
}
]
}
}
Criar uma regra LSP conforme indicado abaixo, que irá fazer a leitura das informações que constam nesse arquivo "ValorElementoJson.txt".
Definir Alfa aValorElementoJson;
Definir Alfa aLinha;
Definir Alfa aConteudoJson;
Definir Alfa AId;
Definir Alfa ADescricao;
Definir Alfa ACodigoErp;
Definir Alfa ARetorno;
@ Arquivo que será lido @
aValorElementoJson = "C:\\ValorElementoJson\\ValorElementoJson.txt";
@ Leitura do conteúdo 01 (somente um grupo com um campo array) @
Se ((aValorElementoJson <> "") e (ArqExiste(aValorElementoJson)))
{
aConteudoJson = "";
fArquivo = Abrir(aValorElementoJson, LerNL);
Enquanto (LerNL(fArquivo, aLinha) = 1)
aConteudoJson = aConteudoJson + aLinha;
Fechar(fArquivo);
ValorElementoJson(aConteudoJson, "documento", "id", AId);
ValorElementoJson(aConteudoJson, "documento", "descricao", ADescricao);
ValorElementoJson(aConteudoJson, "documento", "codigoerp", ACodigoErp);
ARetorno = "Dados Lidos do Json -> # ID: " + AId + " # Descrição: " +
ADescricao + " # Código no ERP: " + ACodigoErp + " #";
Mensagem(Retorna, ARetorno);
}
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 "address" que está dentro do grupo "address" e, que por sua vez está dentro do grupo "company", deve-se enviar os grupos como "company;address".