---
title: "Mapeamento e transformação de dados JSON com o MapForce"
date: "2017-02-15"
categories: 
  - "data-integration"
  - "json"
  - "tools"
tags: 
  - "data-mapping"
  - "json"
  - "mapforce"
  - "xmlspy"
description: Explore como utilizar o MapForce de forma eficaz para mapeamento e transformação de dados JSON, incluindo a integração com SQL e processos automatizados para necessidades de dados em tempo real.
---
Status: #blog

Tags:  #data-mapping #json #mapforce #xmlspy

Categories: [data-integration](/blog/pt/category/data-integration.md) | [json](/blog/pt/category/json.md) | [etl](/blog/pt/category/etl.md)
# Mapeamento e transformação de dados JSON com o MapForce

O JSON é um formato popular para a transferência de dados entre sistemas, graças à sua estrutura simples, tamanho reduzido e origem na linguagem de programação JavaScript. [O MapForce suporta o JSON como formato de entrada e saída](https://www.altova.com/pt/mapforce/json-data-mapping.html) para o mapeamento e transformação de dados JSON. Por exemplo, o MapForce pode extrair informações de qualquer base de dados popular e gerar um ficheiro JSON pronto para transferência. **A Necessidade:** Eis um exemplo de uma necessidade comum para o mapeamento de dados JSON: Uma empresa de manufatura controla os custos através de um processo de montagem "just-in-time", com um stock de peças muito reduzido. As novas encomendas dos clientes são registadas numa base de dados de vendas, e no final de cada dia, os componentes necessários para a montagem das vendas desse dia são calculados através de uma consulta à base de dados. As peças necessárias serão encomendadas aos fornecedores através de uma encomenda de compra, transferida em formato JSON.

![](/blog/images/shutterstock_152168303.jpg)

<!--more-->

Precisamos de dois componentes para projetar o mapeamento e a transformação de dados JSON no MapForce, de forma a gerar o pedido de compra: uma consulta SQL para a base de dados e um documento de instância JSON para modelar o pedido de compra. Já escrevemos anteriormente sobre o mapeamento de bases de dados, mais recentemente em [Funcionalidades de bases de dados em toda a linha de produtos Altova](https://www.altova.com/blog/database-features-across-the-altova-product-line/), por isso, neste caso, focaremos no componente JSON.

Aqui está uma visão do ficheiro JSON que serve de modelo para a estrutura de saída do mapeamento de dados:

![Documentação para mapeamento e transformação de dados JSON](/blog/images/JSON-instance.png)

Se precisar criar uma instância JSON do zero, pode digitá-la diretamente no XMLSpy, aproveitando a coloração da sintaxe, as ferramentas de auxílio contextual, a marcação estrutural para corresponder parênteses e chaves, e outras funcionalidades de edição de JSON. Se não estiver familiarizado o suficiente com JSON para o digitar diretamente, também pode usar o XMLSpy para converter uma instância XML para um ficheiro JSON.

Quando colocamos um ficheiro de exemplo JSON numa definição de mapeamento de dados, o MapForce gera automaticamente um ficheiro de esquema JSON a partir desse exemplo, com base no esquema JSON Draft 04 ([http://tools.ietf.org/html/draft-zyp-json-schema-04](http://tools.ietf.org/html/draft-zyp-json-schema-04)).

![Criação de esquemas JSON no MapForce](/blog/images/JSON-instance-to-data-mapping.png)

O esquema JSON é adicionado ao mapeamento, e os seus elementos de dados podem ser mapeados como entradas ou saídas:

![Componente de mapeamento de dados JSON](/blog/images/JSON-component-in-mapping.png)

A janela de consulta de base de dados do MapForce oferece um local rápido para testar ou ajustar a consulta SQL:

![Janela de consulta de base de dados do MapForce](/blog/images/mapforce-db-query.png)

Podemos inserir a consulta SQL no mapeamento para fornecer os dados de origem para o ficheiro JSON:

![Inserir uma consulta de base de dados num mapeamento de dados do MapForce](/blog/images/insert-db-query.png)

Em seguida, estabelecemos uma ligação entre os resultados da consulta SQL e os elementos de dados do componente JSON:

![Mapeamento e transformação parcial de dados de base de dados para formato JSON](/blog/images/partial-mapping-1.png)

Note que a instrução "select" em si é mapeada para a declaração do objeto que se encontra abaixo do array de linhas (destacado em vermelho acima). Isto irá forçar a criação de um novo objeto JSON no ficheiro de saída para cada linha de dados no resultado da consulta.

O último elemento a ser incluído para completar o mapeamento e a transformação dos dados JSON é a data. Precisamos fornecer a data do pedido no ficheiro de saída, e também precisamos de ajustar a consulta SQL para que selecione sempre os dados do dia atual. O MapForce inclui uma função de data e hora chamada "now" que pode satisfazer ambas as necessidades.

Aqui está o mapeamento JSON completo:

![Mapeamento completo do banco de dados para dados em formato JSON](/blog/images/completed-json-data-mapping.png)

Aplicámos funções adicionais de data e hora para extrair o mês e o dia, fornecendo parâmetros para a consulta SQL, e removemos a informação de fuso horário da função "now" para fornecer a data para a saída JSON. (Não fornecemos um parâmetro para o ano, porque a nossa base de dados de testes de vendas contém apenas encomendas de um ano.)

Clicar no botão "Saída" (Output) na janela de mapeamento do MapForce inicia o processo de mapeamento e exibe o resultado

![Mapeamento de dados JSON para saída](/blog/images/json-data-mapping-output.png)

Agora, a correspondência e a transformação dos dados JSON estão prontas para serem executadas no final de cada dia, gerando o pedido de compra em formato JSON para as peças necessárias para a linha de produção. Podemos automatizar este processo, guardando a correspondência como um ficheiro de execução do MapForce Server, para que seja processado pelo MapForce Server. Este processo pode ser executado através de um ficheiro "batch", sob o controlo do FlowForce Server, ou através da API do MapForce Server.

Ou, para aprofundar a análise da mapeamento, podemos abrir o esquema JSON que o MapForce gerou automaticamente a partir do ficheiro de instância no XMLSpy e examiná-lo na visualização de esquema do XMLSpy:

![Esquema JSON na visualização de esquemas do XMLSpy](/blog/images/json-schema-view.png)

O MapForce é uma ferramenta poderosa para mapeamento e transformação de dados JSON, permitindo converter dados JSON para ou a partir de diversos formatos, incluindo: XML, JSON, bases de dados, EDI, XBRL, ficheiros simples, Excel e/ou serviços web. Para experimentar esta ferramenta com os seus próprios dados JSON, descarregue um.. [Versão de avaliação totalmente funcional e gratuita](https://www.altova.com/pt/download-trial.html) hoje!
