コンテンツにスキップ

JSONテキストを保持する列を読み取り、ドキュメント内で見つかった値ごとに1行の出力行に展開します。XML解析ステップの対になるステップで、Alteryxの JSON Parse ツールに相当するPlaidCloudのステップです。

上流のシステムが1つの列にJSONペイロードを渡してきて、その内容を通常の行と列として扱う必要がある場合に使用します。

ネストされたJSON{“id”: 1,“user”: { “name”:“Ann” },“tags”: [“a”,“b”]}解析フラットな列iduser.nametags1Anna, b
Table JSON Parseは、ネストされたJSONを列にフラット化します。ネストされたオブジェクトはドット区切りのパス(user.name)になり、配列は展開されるため、後続のステップは通常の行と列で処理できます。

解析するJSONテキストを保持する列です。

  • 名前と値のみ(デフォルト)— 各出力行には JSON_Name と JSON_ValueString が含まれます。最もシンプルで、後続の処理がすべて値をテキストとして扱う場合には十分です。
  • 型付きの値 — 単一フィールドのオプションをオフにすると、型ごとの値の列が追加され、数値とブール値が文字列ではなく数値とブール値として渡されます。

デフォルトではオフです。オンにすると、入力レコードのほかの列がすべての値の行で繰り返されるため、別途結合ステップを使わなくても、解析された値が元のレコードと結び付いたままになります。

出力(json_layout)で、別の出力の形状を選択します。いずれも入力行ごとに1行を保持します。

  • ワイド: キー パスごとに 1 列(wide)— 入力列(JSON フィールドを含める設定にしていない限りJSON フィールドを除く)に加えて、ドット区切りのキーパスごとに1つのテキスト列が作成されます。ドキュメントにそのキーがない場合はNULLになります。
  • JSONPath クエリごとに 1 列(paths)— 入力列に加えて、JSONPathクエリごとに1つの列が作成されます。クエリは JSONPath クエリ(json_paths)に一覧で指定し、それぞれに 列、JSONPath、タイプ、複数の一致 の設定(target、path、dtype、multi)を指定します。path はJSONPath(名前、インデックス、ワイルドカード、ディープスキャン、スライス、ユニオン、フィルター)、dtype は text、integer、bigint、double、boolean、json のいずれか、multi は、空の場合は最初の一致(なければNULL)、list の場合はすべての一致をリスト値として、paths の場合は一致するパスを返します。リストの代わりに、テーブルからのクエリ(json_dictionary)を指定すると、テーブルの行からクエリを読み取ります。{source, path, type, output} は、テーブルと、各パス、タイプ、出力列名を保持するその列を指定します。
  • KNIME JSON to Table が作成する列(table)— 入力列に加えて、KNIMEのJSON to Tableノードがドキュメントから作成する列が作成されます。JSON からテーブル のオプション(json_table)で設定します。まず JSON パスで列に名前を付ける(paths)、パスのセグメントを結合する パスの区切り文字(separator、デフォルトは .)、配列(arrays)は GenerateCollectionCells、GenerateColumns、KeepAllArrayAsJsonArray のいずれか、展開するレベル(levels、0はすべて)、そして 展開されたオブジェクトを除外(omit_objects、デフォルトはtrue)でオブジェクト値を除外します。

JSONPathレイアウトまたはJSON to Tableレイアウトでは、JSON フィールドを出力に含めない(json_remove_source)をオンにすると、結果からJSON フィールドが除外されます。