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:
- 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"
}
]
}
- 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.