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 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.

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", 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:

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).

Schemat JSON jest dodawany do mapowania, a jego elementy danych mogą być mapowane jako dane wejściowe lub wyjściowe:

Okno zapytania do bazy danych w programie MapForce umożliwia szybkie testowanie lub modyfikowanie zapytania SQL:

Możemy wstawić zapytanie SQL do mapowania, aby dostarczyć dane źródłowe dla pliku JSON:

Następnie łączymy wyniki zapytania SQL z elementami danych komponentu JSON:

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:

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:

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:

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 Dziś!