---
title: "Mapowanie i transformacja danych JSON za pomocą MapForce"
date: "2017-02-15"
categories: 
  - "data-integration"
  - "json"
  - "tools"
tags: 
  - "data-mapping"
  - "json"
  - "mapforce"
  - "xmlspy"
description: Poznaj, jak efektywnie wykorzystać MapForce do mapowania i transformacji danych JSON, w tym integracji z bazami danych SQL oraz automatyzacji procesów, aby sprostać wymaganiom dotyczącym danych w czasie rzeczywistym.
---
Status: #blog

Tags:  #data-mapping #json #mapforce #xmlspy

Categories: [data-integration](/blog/pl/category/data-integration.md) | [json](/blog/pl/category/json.md) | [etl](/blog/pl/category/etl.md)
# Mapowanie i transformacja danych JSON za pomocą MapForce

JSON to popularny format wymiany danych między systemami, dzięki swojej prostej strukturze, niewielkiej objętości i pochodzeniu związanemu z językiem programowania JavaScript. [MapForce obsługuje JSON jako format wejściowy i wyjściowy](https://www.altova.com/pl/mapforce/json-data-mapping.html) do mapowania i transformacji danych JSON. Na przykład, MapForce może pobierać informacje z dowolnej popularnej bazy danych i generować plik JSON gotowy do przesyłania. **Wymaganie:** Poniżej znajduje się przykład typowej potrzeby mapowania danych JSON: Firma produkcyjna kontroluje koszty, wykorzystując proces montażu "just-in-time" z minimalnym zapasem części. Nowe zamówienia klientów są rejestrowane w bazie danych sprzedaży, a pod koniec każdego dnia, za pomocą zapytania do bazy danych, określa się komponenty potrzebne do zrealizowania zamówień tego dnia. Potrzebne części są zamawiane u dostawców za pomocą zamówienia zakupu, przesyłanego w formacie JSON.

![](/blog/images/shutterstock_152168303.jpg)

<!--more-->

Do zaprojektowania mapowania i transformacji danych JSON w MapForce, które generują zamówienie zakupu, potrzebujemy dwóch elementów: zapytania SQL do bazy danych oraz dokumentu instancji JSON, który modeluje zamówienie. Wcześniej pisaliśmy o mapowaniu baz danych, ostatnio w artykule "[Funkcje baz danych w ofercie produktów Altova](https://www.altova.com/blog/database-features-across-the-altova-product-line/)", dlatego w tym przypadku skupimy się na komponencie JSON.

Oto przykład pliku JSON, który służy jako wzorzec dla wyników mapowania danych:

![Dokumentacja dotycząca mapowania i transformacji danych JSON](/blog/images/JSON-instance.png)

Jeśli potrzebujesz utworzyć instancję JSON od podstaw, możesz wpisać ją bezpośrednio w programie XMLSpy, korzystając z kolorowania składni, inteligentnych podpowiedzi, oznaczeń strukturalnych do dopasowywania nawiasów i akapitów oraz innych funkcji edycji JSON. Jeśli nie znasz wystarczająco dobrze formatu JSON, aby wpisywać go bezpośrednio, możesz również użyć programu XMLSpy do konwersji instancji XML na plik JSON.

Po umieszczeniu pliku instancji JSON w mapowaniu danych, MapForce automatycznie wygeneruje plik schematu JSON na podstawie tej instancji, opierając się na schemacie JSON Draft 04 ([http://tools.ietf.org/html/draft-zyp-json-schema-04](http://tools.ietf.org/html/draft-zyp-json-schema-04)).

![Tworzenie schematów JSON w MapForce](/blog/images/JSON-instance-to-data-mapping.png)

Schemat JSON jest dodawany do mapowania, a jego elementy danych mogą być mapowane jako dane wejściowe lub wyjściowe:

![Komponent mapowania danych JSON](/blog/images/JSON-component-in-mapping.png)

Okno zapytania do bazy danych w programie MapForce umożliwia szybkie testowanie lub modyfikowanie zapytania SQL:

![Okno zapytania do bazy danych MapForce](/blog/images/mapforce-db-query.png)

Możemy wstawić zapytanie SQL do mapowania, aby dostarczyć dane źródłowe dla pliku JSON:

![Wstawienie zapytania do bazy danych do mapowania danych w MapForce](/blog/images/insert-db-query.png)

Następnie łączymy wyniki zapytania SQL z elementami danych komponentu JSON:

![Częściowe mapowanie i transformacja danych z bazy danych na format JSON](/blog/images/partial-mapping-1.png)

Należy zauważyć, że samo wyrażenie SELECT jest powiązane z deklaracją obiektu znajdującą się pod tablicą wierszy (podkreślona na czerwono powyżej). Spowoduje to, że każdy wiersz danych w wyniku zapytania zostanie przekształcony w nowy obiekt JSON w pliku wynikowym.

Ostatnim elementem, który należy zaimplementować, aby zakończyć mapowanie i transformację danych JSON, jest data. Musimy umieścić datę zamówienia w pliku wynikowym, a także musimy zmodyfikować zapytanie SQL, aby zawsze wybierało dane dotyczące bieżącego dnia. MapForce zawiera funkcję datetime o nazwie "now", która może spełnić oba te wymagania.

Oto kompletne mapowanie danych JSON:

![Kompletne odwzorowanie danych z bazy danych na format JSON](/blog/images/completed-json-data-mapping.png)

Wykorzystaliśmy dodatkowe funkcje daty i czasu, aby wyodrębnić miesiąc i dzień, co pozwoliło nam przekazać te informacje jako parametry do zapytania SQL. Dodatkowo, usunęliśmy informacje o strefie czasowej z funkcji "now", aby dostarczyć datę do formatu JSON. (Nie przekazywaliśmy parametru dla roku, ponieważ nasza baza danych testowa zawiera tylko zamówienia z jednego roku.)

Kliknięcie przycisku "Wyjście" znajdującego się pod oknem mapowania w MapForce powoduje wykonanie procesu mapowania, a wynik jest wyświetlany:

![Mapowanie danych JSON – wynik](/blog/images/json-data-mapping-output.png)

Teraz, gdy mapowanie i transformacja danych JSON są gotowe, można je uruchamiać codziennie pod koniec dnia, aby generować plik JSON zawierający zamówienie na części potrzebne do linii produkcyjnej. Możemy zautomatyzować ten proces, zapisując mapowanie jako plik wykonywalny dla serwera MapForce, który będzie go przetwarzał. Przetwarzanie może odbywać się za pomocą pliku wsadowego, pod kontrolą serwera FlowForce, lub za pomocą interfejsu API serwera MapForce.

Alternatywnie, aby dokładniej przeanalizować mapowanie, możemy otworzyć schemat JSON, który MapForce automatycznie wygenerował z pliku XML w programie XMLSpy, i zapoznać się z nim w widoku schematu XMLSpy:

![Schemat JSON w widoku schematu XMLSpy](/blog/images/json-schema-view.png)

MapForce to potężne narzędzie do mapowania danych, które umożliwia konwersję danych JSON na inne formaty, takie jak XML, JSON, bazy danych, EDI, XBRL, pliki tekstowe, Excel, a także do usług internetowych, i odwrotnie. Aby przetestować je w kontekście własnej aplikacji wykorzystującej dane JSON, należy pobrać [W pełni funkcjonalna wersja demonstracyjna](https://www.altova.com/pl/download-trial.html) Dziś!
