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
Format JSON budujesz poprzez akcję drag and drop z obszaru Busbar na obszar JSON nodes. Aby wstawić nowy element upuszczasz bit magistrali w miejsce gdzie chcesz go wstawić w budowanej strukturze. Aby usunąć element ze struktury przenosisz go na obszar Busbar. Możesz również w tym celu wykorzystać przyciski nawigacyjne.
Możesz tworzyć również tablice obiektów, tablice proste lub obiekty podrzędne poprzez akcję drag and drop z obszaru CONTAINER NODE na obszar formatu JSON w miejsce gdzie chcesz dodać wybrany element.
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.
Domyślenie struktura danych JSON zaczyna się od tablicy []data
możesz również zwrócić obiekt usuwając element []data
i zastępując go elementem {}object
.
Typ węzła możesz również zmienić zaznaczając węzeł i modyfikując właściwość Container type.
{}object
dane wygenerowane przez operator będą zawierały tylko ostatni rekord z magistrali danych. Domyślnie nazwa elementu jest nazwą bitu magistrali. Możesz ją zmodyfikować klikając w element i zmieniając nazwę w obszarze Elements properties.
Możesz pominąć elementy tworzonego obiektu lub wartości tablicy prostej, gdy bit odpowiadający za tę wartość na magistrali ma wartość null. Ustaw w tym celu właściwość Null visibility na wartość Skip null.
- węzeł jest jest tablica prostą, wówczas wartość węzła będzie pustą tablicą
[]
. - węzeł jest obiektem, wówczas wartość węzła będzie pustym obiektem
{}
. - węzeł jest tablicą obiektów, wówczas obiekty mające wartość
null
na każdym swoim polu zostaną pominięte w trakcie tworzenia tablicy.
Używając edytora na operatorze CONVERT 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.
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"
}
]