---
title: "JSON-gegevens koppelen en transformeren met MapForce"
date: "2017-02-15"
categories: 
  - "data-integration"
  - "json"
  - "tools"
tags: 
  - "data-mapping"
  - "json"
  - "mapforce"
  - "xmlspy"
description: Ontdek hoe u MapForce effectief kunt gebruiken voor het omzetten en transformeren van JSON-gegevens, inclusief integratie met SQL en geautomatiseerde processen voor real-time dataverwerking.
---
Status: #blog

Tags:  #data-mapping #json #mapforce #xmlspy

Categories: [data-integration](/blog/nl/category/data-integration.md) | [json](/blog/nl/category/json.md) | [etl](/blog/nl/category/etl.md)
# JSON-gegevens koppelen en transformeren met MapForce

JSON is een populair formaat voor het overdragen van data tussen systemen, dankzij de eenvoudige opmaak, het kleine bestandsformaat en de basis in de JavaScript programmeertaal. [MapForce ondersteunt JSON zowel als invoer- als uitvoerformaat](https://www.altova.com/nl/mapforce/json-data-mapping.html) voor het omzetten en transformeren van JSON-data. Zo kan MapForce bijvoorbeeld informatie uit elke populaire database halen en een JSON-bestand genereren dat klaar is voor overdracht. **De vereiste:** Hier is een voorbeeld van een typische behoefte aan JSON-dataomzetting: Een productiebedrijf beheert de kosten door een just-in-time assemblageproces te gebruiken, waarbij er slechts een zeer beperkte voorraad onderdelen aanwezig is. Nieuwe klantorders worden geregistreerd in een verkoopdatabase, en aan het einde van elke dag worden de benodigde componenten voor die dag berekend via een query naar de database. De benodigde onderdelen worden besteld bij leveranciers via een bestelling die in JSON-formaat wordt verzonden.

![](/blog/images/shutterstock_152168303.jpg)

<!--more-->

Om de JSON-datamapping en -transformatie in MapForce te ontwerpen die nodig is om een bestelling te genereren, hebben we twee componenten nodig: een SQL-query om gegevens uit de database op te halen, en een JSON-document om de structuur van de bestelling te definiëren. We hebben eerder over databasemapping geschreven, meest recentelijk in [Databasefuncties in de gehele Altova-productlijn](https://www.altova.com/blog/database-features-across-the-altova-product-line/), dus we zullen ons hier richten op het JSON-onderdeel.

Hieronder ziet u een voorbeeld van het JSON-bestand dat als model dient voor de output van de datamapping:

![Documentatie voor het omzetten en transformeren van JSON-gegevens](/blog/images/JSON-instance.png)

Als u een JSON-bestand vanaf nul wilt aanmaken, kunt u dit direct in XMLSpy invoeren, waarbij u gebruik kunt maken van syntaxmarkering, contextgevoelige invoerhulpmiddelen, structurele markering om haakjes en accolades te matchen, en andere functies voor het bewerken van JSON. Als u niet voldoende bekend bent met JSON om het direct in te voeren, kunt u XMLSpy ook gebruiken om een XML-bestand om te zetten naar een JSON-bestand.

Wanneer we een JSON-instantiebestand in een datamapping plaatsen, genereert MapForce automatisch een JSON-schemabestand op basis van die instantie, gebaseerd op het JSON Draft 04-schema ([http://tools.ietf.org/html/draft-zyp-json-schema-04](http://tools.ietf.org/html/draft-zyp-json-schema-04)).

![MapForce: Creatie van JSON-schema's](/blog/images/JSON-instance-to-data-mapping.png)

Het JSON-schema wordt toegevoegd aan de mapping, en de data-elementen ervan kunnen worden toegewezen als invoer of uitvoer:

![Component voor het mappen van JSON-gegevens](/blog/images/JSON-component-in-mapping.png)

Het venster voor databasequery's in MapForce biedt een handige plek om de SQL-query te testen of te verfijnen:

![MapForce-venster voor databasequery's](/blog/images/mapforce-db-query.png)

We kunnen de SQL-query in de mapping invoegen om de brongegevens voor het JSON-bestand te leveren:

![Het invoegen van een databasequery in een MapForce-datamapping](/blog/images/insert-db-query.png)

Vervolgens koppelen we de resultaten van de SQL-query aan de data-elementen van het JSON-component:

![Gedeeltelijke mapping en transformatie van databasegegevens naar JSON-formaat](/blog/images/partial-mapping-1.png)

Let op dat de SELECT-statement zelf wordt toegewezen aan de objectdefinitie onder de rij-array (gemarkeerd in rood hierboven). Dit zorgt ervoor dat elke rij data in het queryresultaat een nieuw JSON-object creëert in het uitvoerbestand.

Het laatste element dat nog ontbreekt om de JSON-datamapping en -transformatie te voltooien, is de datum. We moeten de besteldatum in het uitvoerbestand opnemen, en we moeten ook de SQL-query aanpassen om altijd gegevens voor de huidige dag te selecteren. MapForce bevat een functie voor datums en tijden, genaamd "now", die beide doelen kan dienen.

Hieronder vindt u de complete JSON-datamapping:

![Volledige database-naar-JSON-datamapping](/blog/images/completed-json-data-mapping.png)

We hebben extra datum- en tijdfuncties toegepast om de maand en de dag te extraheren, zodat we deze als parameters aan de SQL-query konden meegeven. Daarnaast hebben we de tijdzone verwijderd uit de "now"-functie om de datum te kunnen gebruiken voor de JSON-uitvoer. (We hebben geen parameter voor het jaar meegegeven, omdat onze testdatabase voor verkoop alleen bestellingen voor één jaar bevat.)

Door op de knop "Output" onder het MapForce-mappingvenster te klikken, wordt de mapping uitgevoerd en wordt het resultaat weergegeven:

![JSON-gegevensmapping, uitvoer](/blog/images/json-data-mapping-output.png)

Nu de mapping en transformatie van de JSON-gegevens klaar zijn, kan dit dagelijks aan het einde van de dag worden uitgevoerd om de JSON-bestelling voor onderdelen die nodig zijn voor de productielijn te genereren. We kunnen dit proces automatiseren door de mapping op te slaan als een uitvoerbestand voor MapForce Server, zodat MapForce Server dit kan verwerken. Dit kan gebeuren via een batchbestand, onder controle van FlowForce Server, of via de MapForce Server API.

Of, om dieper in de mapping te duiken, kunnen we het JSON-schema openen dat MapForce automatisch heeft gegenereerd vanuit het XML-bestand in XMLSpy, en dit bekijken in de schemaweergave van XMLSpy:

![JSON-schema in de schemaweergave van XMLSpy](/blog/images/json-schema-view.png)

MapForce is een krachtig hulpmiddel voor het omzetten van gegevens, waarmee u JSON-gegevens kunt omzetten naar of vanuit verschillende formaten, waaronder: XML, JSON, databases, EDI, XBRL, platte bestanden, Excel en/of webdiensten. Om het zelf uit te proberen met uw eigen JSON-gegevens, download vandaag nog een [volledig functionele proefversie](https://www.altova.com/nl/download-trial.html)!
