JSON パーサーステップ
構造化されたデータを JSON ペイロードからスクリプト記述不要で識別します。受信 JSON コンテンツを、他のステップまたはアクションで使用できる複合オブジェクト出力にマッピングします。実行時に、JSON ペイロードの値が複合オブジェクト出力に設定されます。
複合オブジェクトの詳細については、「複合データ」を参照してください。
ロールと可用性
ワークフロースタジオ アクションステップとして利用可能です。action_designer ロールを持つユーザーは、1 つ以上のアクションステップを使用してカスタムアクションを作成できます。
ペイロードサイズ制限
実行時に、JSON パーサーステップ は最大 10 MB のペイロードをサポートします。ペイロードが大きい場合は、 データストリーム アクションを作成します。データストリームアクションの詳細については、「データストリームアクションおよびページネーション」を参照してください。
フィールド
| フィールド | 説明 |
|---|---|
| ソース | [ソースデータ] フィールドで、ソース JSON ペイロードを含むデータピルを選択またはドラッグします。たとえば、REST ステップの 応答本文 データピルなどです。実行時に、データソースの値が複合オブジェクト出力に設定されます。 [ソースデータ] のスクリプトウィンドウで、サンプルペイロードを入力して複合オブジェクトを生成します。たとえば、ユーザーのリストを返す REST ステップからの応答を解析する場合は、1 人のユーザーに期待される JSON オブジェクトを入力します。JSON ペイロードの例を作成できますが、次の制限があります。
|
| 構造化ペイロードビュー | サンプルペイロードを通常の JSON として表示するか、[構造化ペイロードビュー] に切り替えて構造化ノードツリーにペイロードを表示します。ツリーでノードを選択し、要素の JSONPath をコピーします。[ターゲット] フィールドに新しい要素を手動で追加する場合は、この JSONPath を要素の詳細オプションの下に貼り付けることができます。 |
| ターゲットを生成 | サンプルペイロードからステップの出力構造を作成するには、[ターゲットを生成] を選択します。出力データ構造が [ターゲット] フィールドに表示されます。各オブジェクトの子要素は、String タイプとして自動的に生成されます。または、[ターゲット] フィールドで要素を追加して、ターゲット複合オブジェクトを手動で作成することもできます。 |
| ターゲット | JSON ペイロードの出力構造を表示または編集します。[ターゲットを生成] をクリックして構造化出力を作成するか、手動で要素を追加します。 各要素には、[オブジェクトの編集] ビューに次の情報が含まれています。
オブジェクトタイプの要素には、オブジェクトの構造を複合オブジェクトテンプレートとして保存できる [テンプレートとして保存] 詳細オプションが含まれています。このテンプレートを使用して、アクションの Object 出力のスキーマを定義できます。 文字列タイプの要素の場合、最大長、ヒント、およびデフォルト値を詳細オプションとして追加することもできます。 出力の構造を変更したら、[ターゲット] ヘッダーで [編集モードの終了] を選択します。[詳細入力の切り替え] アイコン ( JSONPath は要素へのパスです。JSONPath を変更して、ソースデータ要素を出力の要素にマップする方法を変更します。要素を手動で追加する場合は、サンプルペイロードのノードから JSONPath をコピーして、要素の詳細オプションの下に貼り付けることができます。 |
JSON パーサーステップの例
この例では、本番インスタンスから新しく作成された問題をテストインスタンスの欠陥として追跡します。まず、Parse Problems from Production という名前の新しいアクションを作成します。本番インスタンスから問題のリストを取得する REST ステップを追加します。次に、JSON パーサーステップを追加して REST ステップ Response Body を解析し、問題 [problem] テーブルのスキーマを表す複合オブジェクト出力を提供します。最後に、 Problems from Production という名前のオブジェクトタイプのアクション出力を作成します。JSON パーサーステップから root データピルをこの出力の値フィールドにドロップします。
次に、毎日深夜にトリガーされる Sync New Problems という名前の新しいフローを作成します。フローの最初のアクションは Parse Problems from Production アクションです。次に、 For Each フローロジックブロックを追加し、 データピルを [アイテム ] フィールドに入力します。For Each ブロック内に、各問題のステータスが新規かどうかをチェックする If フローロジックブロックを追加し、アサイン先グループと簡単な説明が本番インスタンスから新しい各問題にマップされているテストインスタンスに欠陥レコードを作成します。