Search

Home

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 bit magistrali wybrany 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 wg 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ść będzie pustą tablicą [] .
  • 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ę From 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": 1,
			"name": "name1"
		}		
	]
}

Only array without name

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