Przejdź do głównej zawartości

Odczytuje kolumnę z tekstem JSON i rozwija ją w wiersze wyjściowe — po jednym dla każdej wartości znalezionej w dokumencie. Jest odpowiednikiem kroku Analiza XML i odpowiednikiem w PlaidCloud narzędzia JSON Parse z Alteryx.

Użyj go, gdy system źródłowy przekazuje ładunek JSON w jednej kolumnie, a jego zawartość jest potrzebna jako zwykłe wiersze i kolumny.

zagnieżdżony JSON{“id”: 1,“user”: { “name”:“Ann” },“tags”: [“a”,“b”]}parsowaniepłaskie kolumnyiduser.nametags1Anna, b
Table JSON Parse spłaszcza zagnieżdżony JSON do kolumn — obiekty zagnieżdżone stają się ścieżkami z kropkami (user.name), a tablice są rozwijane, dzięki czemu kolejne kroki pracują na zwykłych wierszach i kolumnach.

Kolumna z tekstem JSON do sparsowania.

  • Tylko nazwa i wartość (domyślnie) — każdy wiersz wyjściowy zawiera JSON_Name i JSON_ValueString. Najprostsza opcja, wystarczająca, gdy wszystkie dalsze kroki traktują wartości jako tekst.
  • Wartości otypowane — wyłącz opcję pojedynczego pola, aby dodać obok kolumny wartości specyficzne dla typu, tak aby liczby i wartości logiczne trafiały jako liczby i wartości logiczne, a nie jako ciągi znaków.

Domyślnie wyłączone. Włącz, aby powtórzyć pozostałe kolumny rekordu wejściowego w każdym wierszu wartości, dzięki czemu sparsowane wartości pozostają połączone z rekordem, z którego pochodzą, bez osobnego kroku złączenia.

Dane wyjściowe (json_layout) wybiera inny kształt wyniku. Każdy z nich zachowuje jeden wiersz na wiersz wejściowy:

  • Szeroko: jedna kolumna na ścieżkę klucza (wide) — kolumny wejściowe (bez pola JSON, chyba że jest uwzględnione) oraz jedna kolumna tekstowa na każdą ścieżkę klucza z kropkami, z wartością NULL, gdy w dokumencie jej brakuje.
  • Jedna kolumna na zapytanie JSONPath (paths) — kolumny wejściowe oraz jedna kolumna na każde zapytanie JSONPath. Wypisz zapytania w sekcji Zapytania JSONPath (json_paths), każde z ustawieniami Kolumna, JSONPath, Typ i Kilka dopasowań (target, path, dtype, multi): path to JSONPath (nazwy, indeksy, symbole wieloznaczne, głębokie skanowanie, wycinki, unie i filtry), dtype to text, integer, bigint, double, boolean lub json, a multi jest puste dla pierwszego dopasowania (NULL, gdy brak), list dla każdego dopasowania jako wartości listy lub paths dla ścieżek, które pasują. Zamiast listy Zapytania z tabeli (json_dictionary) odczytują zapytania z wierszy tabeli: {source, path, type, output} wskazują tabelę i jej kolumny zawierające każdą ścieżkę, typ i nazwę kolumny wyjściowej.
  • Kolumny w postaci tworzonej przez KNIME JSON to Table (table) — kolumny wejściowe oraz kolumny, które z dokumentów tworzy węzeł JSON to Table programu KNIME. Ustawiają je opcje JSON na tabelę (json_table), zaczynając od Nazywaj kolumny według ich ścieżki JSON (paths), Separator ścieżki (separator, domyślnie .) łączącego segmenty ścieżki, Tablice (arrays) jako GenerateCollectionCells, GenerateColumns lub KeepAllArrayAsJsonArray, Poziomy do rozwinięcia (levels, 0 oznacza wszystkie) oraz Pomiń obiekty, które zostały rozwinięte (omit_objects, domyślnie true), aby pominąć wartości obiektów.

W układzie JSONPath lub JSON to Table włącz Pomiń pole JSON w wyniku (json_remove_source), aby usunąć pole JSON z wyniku.