Logo
    Pobierz gravity.integration

    Search

    Home

    Informacje podstawowe

    Dokumentacja techniczna

    Przykłady zastosowań

    gravity.integration
    gravity.integration
    /Dokumentacja techniczna
    Dokumentacja techniczna
    /Edytory formatów danych
    Edytory formatów danych
    /Edytor formatu JSON
    Edytor formatu JSON
    Edytor formatu JSON

    Edytor formatu JSON

    Edytor formatu JSON (JavaScript Object Notation) pozwala na przekonwertowanie strumienia danych magistrali do formatu JSON i jest dostępny w następujących operatorach w systemie GRAVITY:

    OUTPUT DATAOUTPUT DATA

    OUTPUT FILEOUTPUT FILE

    OUTPUT FTPOUTPUT FTP

    CONVERT BITS TO FORMATCONVERT BITS TO FORMAT

    Format JSON budujesz poprzez akcję drag and drop z obszaru Busbar na obszar JSON nodes. Aby wstawić nowy element, upuszczasz wybrany bit magistrali z obszaru Busbar w miejsce, gdzie chcesz go wstawić w budowanej strukturze. Aby usunąć element ze struktury, przenosisz go z powrotem na obszar Busbar. Możesz również w tym celu wykorzystać przyciski nawigacyjne.

    image

    Możesz także tworzyć tablice obiektów, tablice proste lub obiekty podrzędne, przeciągając element z obszaru CONTAINER NODE na obszar formatu JSON nodes (akcja drag and drop) w miejsce, w którym ma zostać dodany.

    image

    Wyboru tablicy prostej lub tablicy obiektów dokonasz, zaznaczając węzeł tablicowy i zmieniając w jego właściwościach opcję Array element na Simple value.

    icon
    Ponieważ elementy tablicy prostej są wartościami prostymi, w edytorze pod węzłem takiej tablicy może znajdować się tylko jeden bit, na podstawie którego zostaną wygenerowane wartości tej tablicy.
    image
    icon
    Operator tworzy dane w oparciu o poziomy zagłębień węzłów. Dane dla każdego poziomu pochodzą z grupowania danych magistrali według bitów użytych na danym poziomie zagłębienia oraz poziomach nadrzędnych. Jest to bardzo ważna właściwość, ponieważ zachowanie to pozwala na przetwarzanie danych typu rodzic → dziecko (np. zamówienie i jego pozycje). Magistrala, która transportuje dane “płaskie” (dane rodzica są powielone tyle razy ile jest dzieci), może być w ten sposób zinterpretowana jako struktura drzewiasta, gdy odpowiednie bity znajdą się na odpowiednich poziomach.

    Domyślnie struktura węzłów JSON zaczyna się od tablicy []data. Aby zwrócić obiekt zamiast tablicy, usuń []data i dodaj jako element główny {}object.

    image

    Typ węzła możesz również zmienić zaznaczając węzeł, i modyfikując właściwość Container type.

    image
    icon
    Jeśli na magistrali masz wiele rekordów, a użyjesz jako głównego elementu {}object, to dane wygenerowane przez operator będą zawierały tylko ostatni rekord z magistrali danych.

    Domyślnie nazwa elementu jest taka sama jak nazwa bitu magistrali. Możesz ją zmodyfikować, klikając element i zmieniając nazwę w obszarze Element properties.

    image

    Jeśli bit odpowiadający za daną wartość na magistrali ma wartość null, możesz pominąć elementy tworzonego obiektu lub wartości tablicy prostej. Aby to zrobić, ustaw właściwość Null visibility na Skip null.

    image
    icon
    Jeśli wszystkie elementy węzła mają ustawioną właściwość Null visibility na Skip null, to:
    • jeśli węzeł jest tablica prostą - jego wartością będzie pusta tablica [] .
    • jeśli węzeł jest obiektem - jego wartość będzie pustym obiektem {}.
    • jeśli węzeł jest tablicą obiektów - obiekty, w których wszystkie pola mają wartość null, zostaną pominięte przy tworzeniu tablicy.

    Jeśli chcesz, aby wszystkie elementy podrzędne danego wiersza zostały określone jako Skip null/Show null, użyj opcji Set null visibility for elements na interesującym Cię węźle.

    image

    Jeśli w węźle będącym tablicą chcesz wygenerować prostą tablicę wartości, użyj opcji Array element ustawionej na Simple value. Opcja ta wymaga, aby elementem podrzędnym był tylko jeden bit magistrali (węzeł).

    Przykład:

    ...
    "projectsId": [3,34,54,67]
    ...
    image

    Używając edytora na operatorze CONVERT BITS TO FORMATCONVERT BITS TO FORMAT będziesz miał do wyboru dodatkową opcję Form of root. Używając tej opcji, możesz zdecydować czy format JSON wygenerowany przez operator będzie miał postać pełnego obiektu, czy tylko wartości tablicy pierwszego poziomu.

    image

    Przykład:

    Full object

    {
    	"data" : [
    		{
    			"id": 1,
    			"name": "name1"
    		},
    		{
    			"id": 2,
    			"name": "name2"
    		}		
    	]
    }

    Only array without name

    [
    		{
    			"id": 1,
    			"name": "name1"
    		},
    		{
    			"id": 2,
    			"name": "name2"
    		}		
    ]