Conheça uma das últimas adições da plataforma Magic xpa, o DataSource JSon
Lançado na versão 4.8 e aprimorado nas versões posteriores da plataforma, um novo tipo de DataSource é agora suportado de forma “nativa” no Magic xpa:
(em adição ao DBs SQL, BDs ISAM, Memory e XML)
- JSon DataSources
Este novo objeto permite tratar documentos JSon como um DataSource natural do projeto, o que dá então a oportunidade de trabalharmos com estes documentos como se fossem ResultSets, em:
- Task Main Source (Create, Modify, Delete)
- Task Link Create
- Task Link Query
De fato, é uma funcionalidade já existente previamente para documentos do tipo XML que agora foi incorporada também para documentos JSon.
Tudo começa com a definição de um DataBase do projeto do tipo JSon:
Assim, dentro do projeto (Shift+F2 – Repositório de Tabelas), podemos definir um DataSource vinculado a este DataBase:
Cada “coluna” deste DataSource será então para o Magic xpa um campo do documento JSon, e o “Data Source Name” representa o arquivo físico (em disco) a ler ou gravar.
Como o padrão JSon permite que campos do documento sejam objetos JSon (outra subestrutura JSon), o Magic xpa também permite que um campo seja definido como uma referência a um outro DataSource existente (configurado):
No exemplo acima, o campo “Address” do DataSource Organization é uma referência ao outro DataSource definido no repositório com o nome Address, o que significa que este campo não é um valor integral (numeric, date, string, boolean…), mas sim, um outro objeto complexo (documento JSon) com seus próprios campos (atributos).
E nessas situações, ainda podemos definir se a instância é “Single” (um único objeto) ou “Multiple” (um array de objetos).
*Nota: Não está ainda disponível o recurso de Get Definition (F9) para JSon Schemas.
Como são agora DataSources, estes documentos podem ser manipulados diretamente nos programas Magic xpa para edição do conteúdo:
Mas ainda tem mais … 😉
Semelhante ao recurso que já existe para os documentos XML, o Magic xpa provê um conjunto de funções para manipulação desses documentos JSon sem que eles estejam obrigatoriamente definidos como um DataSource do projeto.
Basta ter um campo do tipo JSON (um tipo especializado de Blob) no programa:
e qualquer das funções abaixo poderá ser utilizada nas expressões deste programa/tarefa Magic xpa par ler e/ou alterar o conteúdo do documento:
*Nota: Enquanto que as funções de manipulação direta de documentos XML operam em I/Os do programa Magic xpa, para o JSon elas operam em "variáveis do tipo JSON" (ao invés de I/Os).
No projeto exemplo “On-Line Samples“ (da instalação padrão), há um conjunto de programas que demonstram a utilização prática desta funcionalidade:
Fique ligado no Blog MagicBR, para mais dicas.
Para receber os artigos do Blog Magic Brasil em primeira mão no seu email, registre-se aqui
Muito interessante! Só uma pequena correção: JSON é sigla de JavaScript Object Notation, e todas as letras devem ser grafadas em maíusculas. JSon não está correto nesse contexto.