必要なパラメータ
- map:*:1つ以上のインプットのセット。マッピングされるパラメータの名前がコロンの前に置かれ(例:
map:foo)、値はドキュメント内の対象のjson 要素へのjsonpath です(詳細は例を参照してください)。
オプションのパラメータ
- uri:JSON ファイルのURI。インプットファイルに対する
[FilePath]などの動的なファイル参照、ディスク上の静的なファイルパス、またはJSON ファイルのパブリックURL を指定できます。 - text:JSON データへの読み取り可能なハンドル参照。このハンドルはjsonOpen オペレーションによって作成され、インプットJSON がファイルやrawテキストではない場合、またはドキュメントのファイルデータにアクセスする複数のアクションを実行する必要がある場合に役立ちます。
- handle:JSON データへの読み取り可能なハンドル参照。このハンドルはjsonOpen オペレーションによって作成され、対象のJSON がインプットファイルではない場合にのみ必要です。詳細と例についてはjsonOpen を参照してください。
- repeatelement#:ドキュメント内で繰り返される要素へのjsonpath。
- repeatmode:
repeatelement#の値をアウトプットアイテムに格納する方法を定義します。使用できる値はITEMおよびARRAYです。ITEM(デフォルト)に設定すると、繰り返し要素から見つかった値は、オペレーションが生成する各アウトプットアイテムに個別の属性として格納されます。ARRAYに設定すると、繰り返し要素から見つかった値は単一のアウトプットアイテムに配列属性として格納され、1始まりのインデックスを介してアクセスする必要があります(例:[result.color#2]はresult アイテムのcolor属性内の2番目の値を参照します)。
アウトプット属性
- *:map パラメータを使用してマッピングされたJSON 要素からのアウトプット値。これらは、アウトプットアイテムとマッピングされたインプットアイテムの名前を参照してアクセスします(例:
[results.foo])。アウトプットアイテムの名前(この場合はresults)はユーザーが決定します。追加のコンテキストについては例を参照してください。
例
JSON ドキュメントから値を取得する
次のJSON データについて考えてみます。これは のScript コネクタへのインプットデータとして渡されます:name およびage を取得し、それらを のメッセージのヘッダーとして追加できます。次のScript コードは、その方法の例を示しています:
JSON オブジェクト内の配列の特定のインデックスにアクセスする
JSON データ内の配列の特定のインデックスにアクセスする必要がよくあります。例えば、Script コネクタへのインプットファイルとして渡される次のJSON オブジェクト内で、orders 配列の2番目のorder オブジェクトのid にアクセスしたい場合があります。
orders 配列内のいずれかのオブジェクトに存在する要素への1始まりのインデックスjsonpath を使用して、特定のorder のid にアクセスできます。次のScript コードは、その方法の例を示しています:
repeatelement パラメータを使用する
次のJSON データについて考えてみます。これはScript コネクタへのインプットファイルとして渡されます:repeatelement# パラメータは、繰り返しの値を持つ要素を定義するために使用されます。この例では、color およびexample の値は、JSON 配列である/json/colors 要素内で繰り返されています。repeatelement# を設定すると、jsonDOMGet オペレーションはその要素に存在する値をループします。
repeatmode パラメータは、repeatelement# の値をアウトプットとして格納する方法を定義します。ITEM(デフォルト)に設定すると、繰り返し要素によって見つかった値は、アウトプットアイテムに個別の属性として格納されます。ARRAY に設定すると、繰り返し要素によって見つかった値は、アウトプットアイテムに配列属性として格納され、1始まりのインデックスを介してアクセスする必要があります(例:[result.color#2] はred に解決され、result.example#2 はapple に解決されます)。