JSON パーサーステップ

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • 構造化されたデータを JSON ペイロードからスクリプト記述不要で識別します。受信 JSON コンテンツを、他のステップまたはアクションで使用できる複合オブジェクト出力にマッピングします。実行時に、JSON ペイロードの値が複合オブジェクト出力に設定されます。

    複合オブジェクトの詳細については、「複合データ」を参照してください。

    注:
    このステップには 統合ハブ のサブスクリプションが必要です。詳細については、「 法務スケジュール - 統合ハブ の概要」を参照してください。 必要なプラグインを有効化した後、ステップは [統合] の下に表示されます。

    ロールと可用性

    ワークフロースタジオ アクションステップとして利用可能です。action_designer ロールを持つユーザーは、1 つ以上のアクションステップを使用してカスタムアクションを作成できます。

    ペイロードサイズ制限

    実行時に、JSON パーサーステップ は最大 10 MB のペイロードをサポートします。ペイロードが大きい場合は、 データストリーム アクションを作成します。データストリームアクションの詳細については、「データストリームアクションおよびページネーション」を参照してください。

    フィールド

    フィールド 説明
    ソース [ソースデータ] フィールドで、ソース JSON ペイロードを含むデータピルを選択またはドラッグします。たとえば、REST ステップの 応答本文 データピルなどです。実行時に、データソースの値が複合オブジェクト出力に設定されます。

    [ソースデータ] のスクリプトウィンドウで、サンプルペイロードを入力して複合オブジェクトを生成します。たとえば、ユーザーのリストを返す REST ステップからの応答を解析する場合は、1 人のユーザーに期待される JSON オブジェクトを入力します。JSON ペイロードの例を作成できますが、次の制限があります。

    • 多次元アレイはサポートされていません。
    • JSON キーのハイフン、ピリオド、スペース、二重コロン、および @ 記号はサポートされていません。
    • サンプルペイロードは 2 MB を超えることはできません。
    構造化ペイロードビュー サンプルペイロードを通常の JSON として表示するか、[構造化ペイロードビュー] に切り替えて構造化ノードツリーにペイロードを表示します。ツリーでノードを選択し、要素の JSONPath をコピーします。[ターゲット] フィールドに新しい要素を手動で追加する場合は、この JSONPath を要素の詳細オプションの下に貼り付けることができます。
    ターゲットを生成 サンプルペイロードからステップの出力構造を作成するには、[ターゲットを生成] を選択します。出力データ構造が [ターゲット] フィールドに表示されます。各オブジェクトの子要素は、String タイプとして自動的に生成されます。または、[ターゲット] フィールドで要素を追加して、ターゲット複合オブジェクトを手動で作成することもできます。
    ターゲット

    JSON ペイロードの出力構造を表示または編集します。[ターゲットを生成] をクリックして構造化出力を作成するか、手動で要素を追加します。

    各要素には、[オブジェクトの編集] ビューに次の情報が含まれています。

    • [ラベル]:データピルラベル。デフォルトでは、JSON キー名が使用されます。
    • [名前]:出力要素の内部名。
      注:
      感嘆符、二重コロン、@ 記号、または数字のみは、要素名の有効な値ではありません。
    • [タイプ]:データタイプ。String、Object、Array.String、または Array.Object である必要があります。最上位の要素は Object である必要があります。
    • [必須]:要素を必須にするために切り替えます。これは String タイプの要素にのみ適用されます。
    • [子アイテムを追加]:[子アイテムを追加] アイコン ([子アイテムを追加] アイコン) を選択して、ネストされた子要素を追加します。

    オブジェクトタイプの要素には、オブジェクトの構造を複合オブジェクトテンプレートとして保存できる [テンプレートとして保存] 詳細オプションが含まれています。このテンプレートを使用して、アクションの Object 出力のスキーマを定義できます。

    文字列タイプの要素の場合、最大長、ヒント、およびデフォルト値を詳細オプションとして追加することもできます。

    出力の構造を変更したら、[ターゲット] ヘッダーで [編集モードの終了] を選択します。[詳細入力の切り替え] アイコン ([詳細入力の切り替え] アイコン) を選択すると、[JSONPath] オプションを表示できます。

    JSONPath は要素へのパスです。JSONPath を変更して、ソースデータ要素を出力の要素にマップする方法を変更します。要素を手動で追加する場合は、サンプルペイロードのノードから JSONPath をコピーして、要素の詳細オプションの下に貼り付けることができます。

    JSON パーサーステップの例

    この例では、本番インスタンスから新しく作成された問題をテストインスタンスの欠陥として追跡します。まず、Parse Problems from Production という名前の新しいアクションを作成します。本番インスタンスから問題のリストを取得する REST ステップを追加します。次に、JSON パーサーステップを追加して REST ステップ Response Body を解析し、問題 [problem] テーブルのスキーマを表す複合オブジェクト出力を提供します。最後に、 Problems from Production という名前のオブジェクトタイプのアクション出力を作成します。JSON パーサーステップから root データピルをこの出力の値フィールドにドロップします。

    図 : 1. 本番アクションからの問題解析
    JSON パーサーステップは、問題レコードを表す複合オブジェクト出力を構成する。 アクションの出力は、JSON パーサーステップの複合オブジェクト出力にマッピングされる。

    次に、毎日深夜にトリガーされる Sync New Problems という名前の新しいフローを作成します。フローの最初のアクションは Parse Problems from Production アクションです。次に、 For Each フローロジックブロックを追加し、 本番環境からの問題 > 応答 データピルを [アイテム ] フィールドに入力します。For Each ブロック内に、各問題のステータスが新規かどうかをチェックする If フローロジックブロックを追加し、アサイン先グループと簡単な説明が本番インスタンスから新しい各問題にマップされているテストインスタンスに欠陥レコードを作成します。

    図 : 2. 新しい問題の同期フロー
    フローは、本番インスタンスで新しい問題ごとに、テストインスタンスに新しい欠陥を作成する。