DataPrime: URL デコード/エンコード
このガイドでは、URLのエンコードとデコードのための IBM® Cloud Logs DataPrime URL 関数の用語集を提供します。
urlDecode と urlEncode は、関数とメソッド表記をサポートしている。
urlEncode
urlEncode を使って、文字をインターネットで送信できる形式に変換する。
インターネットで URL を送信するには、 URL をASCII文字セットで設定する必要があります。 例えば、一連の文字をエンコードし、空白を %20 で置き換える必要があるかもしれません。
関数
urlEncode(string: string): string
例えば、次のサンプルを使って、 query_string_parameters.name の値を関数でエンコードすることができる:
replace query_string_parameters.name with urlEncode(query_string_parameters.name)
メソッド
string: string.urlEncode(): string
例えば、以下のサンプルを使って、 query_string_parameters.name の値をメソッドでエンコードすることができる:
replace query_string_parameters.name with query_string_parameters.name.urlEncode()
urlDecode
URL を使いやすい形式に変換するには、 urlDecode を使用します。
関数
urlDecode(string: string): string
例えば、以下のサンプルを使って、 query_string_parameters.name の値を関数でデコードすることができる:
replace query_string_parameters.name with urlDecode(query_string_parameters.name)
メソッド
string: string.urlDecode(): string
例えば、以下のサンプルを使って、 query_string_parameters.name の値をメソッドを使ってデコードすることができる:
replace query_string_parameters.name with query_string_parameters.name.urlDecode()
例 URL ヘッダーパラメーターをJSONオブジェクトに変換し、 URL デコードする
次のログラインを考えてみよう:
{
"domain": "https://www.ibm.com",
"path": "/home",
"query_string": "name=My%20Name&b=c%20d&c=d"
}
まず、各クエリー文字列パラメーターを独自のオブジェクト・フィールドに抽出する。
extract query_string into query_string_parameters using kv(pair_delimiter='&',key_delimiter='=')
出来上がった文書は次のようになる:
{
"domain":"https://www.ibm.com",
"query_string":"name=My%20Name&b=c%20d&c=d",
"path": "/home",
"query_string_parameters":{
"name":"My%20Name",
"b":"c%20d",
"c":"d"
}
}
次に、 query_string_parameters.name を解読し、 %20 を空白に置き換える。 replace 、古いフィールドを新しいフィールドで上書きし、既存のキーパスの値を新しい値で上書きする。
replace query_string_parameters.name with urlDecode(query_string_parameters.name)
replace query_string_parameters.b with urlDecode(query_string_parameters.b)
その結果、次のような文書ができあがる:
{
"domain":"https://www.ibm.com",
"query_string":"name=My%20Name&b=c%20d&c=d",
"path": "/home",
"query_string_parameters":{
"name":"My name",
"b":"c d",
"c":"d"
}
}