JSONEncode_Mapperコンポーネント、Converterコンポーネント使用

これまでJSON形式の変換にはJSONDecodeコンポーネントやJSONEncodeコンポーネントを使用しました。しかし、ASTERIA Warp 2412よりこれらのコンポーネントが廃止されたため、超初歩的な内容ではございますが、Mapper、又は、Converterコンポーネントを使用してJSON形式に変換するフローを作成してみました。

JSONEncode_Converterコンポーネント

フローは非常にシンプルでFileGetとConverterコンポーネントだけを使って作成します。

読み込むCSV内容

FileGetコンポーネント

・ファイルパスにCSVファイルパスを設定します。

FileGetコンポーネントのストリーム定義は読み込むcsvファイルの項目名と対応するフィールド名を設定します。

FileGetコンポーネントの設定

Converterコンポーネント

Converterコンポーネントの出力フォーマットにJSONを設定します。

・インデントに「はい」を設定します。

Converterコンポーネントでは、出力ストリームのフィールド定義(階層構造など)が変換結果に反映されないため、詳細な設定を行う必要はありません。

Converterコンポーネントの設定

実行結果

ConverterコンポーネントによるCSVからJSONへの変換では、JSON特有の階層構造(親子関係)を構築することができません。そのため、CSVの各行がそれぞれ独立した1つのオブジェクトとして出力されるシンプルなフラット配列の構造となります。

*********************************************

JSONEncode_Mapperコンポーネント

フローは非常にシンプルでFileGetとMapperコンポーネントだけを使って作成します。

読み込むCSV内容

FileGetコンポーネント

・ファイルパスにCSVファイルパスを設定します。

FileGetコンポーネントのストリーム定義は読み込むcsvファイルの項目名と対応するフィールド名を設定します。

FileGetコンポーネントの設定

Mapperコンポーネント

・出力フォーマットにJSONを設定します。

・フィールド設定は下図のようにJSONストリームの階層構造のフィールド定義を行います。

・インデントに「はい」を設定します。

Mapperコンポーネント設定

実行結果

Mapperコンポーネントを使用すれば、平坦なCSVデータからでも、複雑な親子関係を持つ階層構造(ネスト構造)のJSONを生成することが可能です。