HTTPクライアントを使ったデータの抽出方法に関する追加情報
[
{
"name": "Peter",
"age": 40,
"male": true,
"addresses": {
"city": "Nantes",
"zip": "44000",
"street": "bd prairie au duc"
},
"cars": [
{"brand": "Ford", "model": "Transit", "km": 123456},
{"brand": "Renault", "model": "Clio", "km": 87234}
]
},
{
"name": "Emma",
"age": 34,
"male": true,
"addresses": {
"city": "Paris",
"zip": "75000",
"street": "bd Saint-Germain"
},
"cars": [
{"brand": "Tesla", "model": "Model 3", "km": 63456},
{"brand": "Ford", "model": "Mustang Mach-E", "km": 32543},
{"brand": "Volkswagen", "model": "Golf 8", "km": 43876},
]
}
]
[Extract a sub-part of the response] (レスポンスのサブ部分を抽出)
この設定はレスポンスのペイロード全体を処理し、 返したいサブエレメントを抽出します。セレクターが配列を指す場合、項目ごとに出力レコードを1つ生成します。
[Extract a sub-part of the response] (レスポンスのサブ部分を抽出)の値 | 結果 |
---|---|
<empty> または. または.root (この3つの値は同じ結果を返します) |
レスポンスペイロードを返します。この例では、PeterとEmmaの完全レコードが返されます。 |
.root[1] ドキュメントが配列([で開始され、]で終了)で、そこから項目を1つだけ抽出したい場合は、.rootを使えばインデックスを定義できます。確かに.[1]と[1]は有効ではありませんが、.root[1]はドキュメントの2番目のエレメント(インデックスは0から開始)を抽出します。 |
2番目のレスポンスペイロードを返します。この例では、Emmaの完全レコードが返されます。 |
.root[1].cars 部分配列を選択してループさせることができます。 |
2番目のレスポンスペイロードの一部を返します。この例では、Emmaが所有する車が含まれているレコードが返されます。 |
.root[1].cars{.km > 40000} 返されたエレメントをフィルタリングできます。 |
2番目のレスポンスペイロードの一部を返します。この例では、Emmaが所有し、走行距離が40,000kmを超える車が含まれているレコードが返されます。 |
[Output key/value pair] (出力キー/値のペア)
[Extract a sub-part] (サブ部分を抽出)パラメーターを使ってメインデータが抽出されたら、値をいくつか抽出してフラットレコードを作成することもできます。
これを行うには、[Output key/value pairs] (出力キー/値のペア)を有効にし、[Name] (名前) / [Value] (値)エントリーを追加します。[Name] (名前)は出力レコードのフィールド名となり、[Value] (値)にはコネクターに設定されたHTTPクエリーのレスポンスから値を取得するためのDSSLセレクターが含まれます。
この例では、[Extract a sub-part of the response value] (レスポンスのサブ部分を抽出)値が . なので、PeterとEmmaという2つのレコードがループされます。
名前 / 値 | 結果 |
---|---|
|
[Name/Value] (名前/値)エントリーに含まれているペイロードからデータを抽出し、カラムに配置します。この例では、PeterとEmmaの名前、年齢、住所、最初の車のブランドが含まれているレコードが抽出されます。 |