ListaRegraCarregarJson

Esta função lê os dados de um arquivo Json e os carrega em uma lista onde cada campo do Json é uma coluna na lista e cada registro é uma linha.

Sintaxe: Funcao ListaRegraCarregarJson(Numero aLista, Alfa aJson, Alfa aGrupo, Alfa aCampos);

Parâmetros:

Nome Tipo Descrição
aLista Número Recebe o endereço de memória da lista criada.
aJson Alfa Recebe o conteúdo de um arquivo Json.
aGrupo Alfa Recebe o grupo que deve ser lido do Json.
aCampos Alfa Recebe os campos a serem lidos do Json (os campos devem ser separados por ";"). No entanto, caso o campo informado no parâmetro não exista no Json, a função emitirá erro, indicando que o campo é inexistente ou que não pode ser encontrado.

Tipo de retorno: nenhum.

Exemplo:

  1. Criar um arquivo .txt que contenha as seguintes informações e salvar ele como "teste.txt".

{

"Documento": {

"Id": 183190,

"Descricao": "TESTE",

"CriadoPor": "email@email.com.br",

"AtualizadoPor": "email@email.com.br",

"CodigoErp": "1072"

},

"itens": [

{

"Id": 204923,

"Codigo": "1001000002",

"Descricao": "TESTE DE DESCRICAO DO ITEM 1",

"Complemento": "TESTE DE COMPLEMENTO",

"Grupo": "D"

},

{

"Id": 204922,

"Codigo": "1001000001",

"Descricao": "TESTE DESCRICAO DO ITEM",

"Grupo": "I"

}

]

}

  1. Criar uma regra LSP conforme indicado abaixo, que irá fazer a leitura das informações que constam nesse arquivo "teste.txt".

Definir Alfa aArquivo;

Definir Alfa aLinha;

Definir Alfa aConteudoJson;

Definir Alfa aAchou;

Definir Alfa aObteve;

Definir Alfa aId;

Definir Alfa aCodigo;

Definir Alfa aDescricao;

Definir Alfa aComplemento;

Definir Alfa aGrupo;

Definir Alfa aMsgTeste;

aArquivo = "C:\\Arquivos\\teste.txt";

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

{

aConteudoJson = "";

fArquivo = Abrir(aArquivo, LerNL);

Enquanto (LerNL(fArquivo, aLinha) = 1)

aConteudoJson = aConteudoJson + aLinha;

Fechar(fArquivo);

@ Criar lista para tratar os itens que foram gerados para os itens @

ListaRegraCriarLista(nLstIte);

ListaRegraCarregarJson(nLstIte, aConteudoJson, "itens",

"id;codigo;descricao;complemento;grupo");

ListaRegraPrimeiro(nLstIte, aAchou);

Enquanto (aAchou = "S")

{

@ Obter os ID's do item tanto no ERP como no Sistema de Terceiro (para relacionar um ao outro no ERP) @

ListaRegraObterValorNumero(nLstIte, "id", nId, aObteve);

ListaRegraObterValorAlfa (nLstIte, "codigo", aCodigo, aObteve);

ListaRegraObterValorAlfa (nLstIte, "descricao", aDescricao,aObteve);

ListaRegraObterValorAlfa (nLstIte, "complemento",aComplemento, aObteve);

ListaRegraObterValorAlfa (nLstIte, "grupo", aGrupo, aObteve);

IntParaAlfa(nId, aId);

ListaRegraProximo(nLstIte, aAchou);

aMsgTeste = "Leitura Arquivo com Array - ID: " + aId + "Descricao: " + aDescricao + " Código Item: " + aCodigo + "Complemento: " +

aComplemento + " Grupo: " + aGrupo; Mensagem(Retorna, aMsgTeste);

}

}

Utilização da Função (dependentes): Conforme consta no exemplo deregra, é necessário a utilização da função ListaRegraCriarLista(NumeroEnd aLista) para criação da lista com os itens que serão lidos do arquivo.txt dentro da função ListaRegraCarregarJson.

Observação: não é possível realizar a leitura de arrays nesta função.

Este artigo ajudou você?