データ準備のマッピング機能

データ準備関数を使用すると、ソースフィールドに入力された値に基づいて値を計算および計算できます。

フィールド

フィールド名には、任意の法的識別子(Unicode 文字および数字の無制限のシーケンス、文字、ドル記号($)、アンダースコア文字(_)を使用できます。 変数名でも大文字と小文字が区別されます。

フィールド名がこの規則に従わない場合は、フィールド名を ${} でラップする必要があります。 例えば、フィールド名が「名」または「First.Name」の場合、名前をそれぞれ ${First Name} または ${First\.Name} のようにラップする必要があります。

TIP
階層を操作する際に、子属性にピリオド(.)がある場合は、バックスラッシュ(\)を使用して特殊文字をエスケープする必要があります。詳しくは、 特殊文字のエスケープに関するガイドを参照してください。

フィールド名が次の予約キーワードの any である場合、${}{} でラップする必要があります。

new, mod, or, break, var, lt, for, false, while, eq, gt, div, not, null, continue, else, and, ne, true, le, if, ge, return, _errors, do, function, empty, size

また、予約済みキーワードには、このページにリストされているマッパー関数も含まれます。

サブフィールド内のデータには、ドット表記を使用してアクセスできます。 例えば、name オブジェクトがある場合、firstName フィールドにアクセスするには、name.firstName を使用します。

関数のリスト

次の表に、サンプル式とその結果の出力を含む、サポートされるすべてのマッピング関数を示します。

文字列関数 string

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
concat
指定された文字列を連結します。
  • STRING:連結される文字列。
concat (STRING_1, STRING_2)
concat("Hi, ", "there", "!")
"Hi, there!"
explode
正規表現に基づいて文字列を分割し、部分の配列を返します。 オプションで、正規表現を含めて文字列を分割できます。 デフォルトでは、分割は「,」に解決されます。 次の区切り文字を \ でエスケープする必要があります 必須+, ?, ^, |, ., [, (, {, ), *, $, \ 区切り文字として複数の文字を含めると、区切り文字は複数の文字の区切り文字として扱われます。
  • 文字列:必須 分割する必要がある文字列。
  • REGEX: オプション 文字列の分割に使用できる正規表現。
explode (STRING, REGEX)
explode("Hi, there!", " ")
["Hi,", "there"]
instr
サブ文字列の場所/インデックスを返します。
  • 入力:必須 検索する文字列。
  • 部分文字列:必須 文字列内で検索される部分文字列。
  • START_POSITION: オプション 文字列内で検索を開始する場所です。
  • OCCURRENCE: オプション 開始位置から検索する n 番目のオカレンスです。 デフォルトの重み付けは 1 です。
instr (INPUT, SUBSTRING, START_POSITION, OCCURRENCE)
instr ("adobe.com", "com")
6
replacestr
元の文字列に検索文字列が存在する場合は、その文字列を置き換えます。
  • 入力:必須 入力文字列。
  • TO_FIND: 必須 入力内で検索する文字列。
  • TO_REPLACE: 必須 「TO_FIND」内の値を置換する文字列。
replacestr (INPUT, TO_FIND, TO_REPLACE)
replacestr("This is a string re test", "re", "replace")
"This is a string replace test"
substr
指定された長さのサブ文字列を返します。
  • 入力:必須 入力文字列。
  • START_INDEX: 必須 部分文字列が開始する入力文字列のインデックス。
  • LENGTH: 必須 部分文字列の長さです。
substr (INPUT, START_INDEX, LENGTH)
substr("This is a substring test", 7, 8)
"サブセット"
lower /
lcase
文字列を小文字に変換します。
  • 入力:必須 小文字に変換される文字列。
lower (入力)
lower("HeLLo")
lcase("HeLLo")
"hello"
upper /
ucase
文字列を大文字に変換します。
  • 入力:必須 大文字に変換される文字列。
upper (INPUT)
upper("HeLLo")
ucase("HeLLo")
"HELLO"
split
区切り文字で入力文字列を分割します。 次の区切り記号 必須 は、\ でエスケープする必要があります:\。 複数の区切り文字を含めると、文字列は文字列に存在する区切り文字の 任意 に分割されます。 注意: この関数は、区切り文字の存在に関係なく、文字列から null 以外のインデックスのみを返します。 結果の配列ですべてのインデックス(null を含む)が必要な場合は、「explode」関数を使用します。
  • 入力:必須 分割される入力文字列。
  • SEPARATOR: 必須 入力を分割するために使用される文字列。
split (INPUT, SEPARATOR)
split("Hello world", " ")
["Hello", "world"]
join
区切り記号を使用してオブジェクトのリストを結合します。
  • SEPARATOR: 必須 オブジェクトの結合に使用される文字列。
  • OBJECTS: 必須 結合する文字列の配列。
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
"Hello world"
lpad
文字列の左側を指定された他の文字列でパディングします。
  • 入力:必須 パディングされる文字列。 この文字列は null にできます。
  • COUNT: 必須 埋め込む文字列のサイズです。
  • PADDING: 必須 入力を埋め込む文字列。 null または空の場合は、1 つのスペースとして扱われます。
lpad (INPUT, COUNT, PADDING)
lpad ("bat", 8, "yz")
「yzyzybat」
rpad
文字列の右側を指定された他の文字列でパディングします。
  • 入力:必須 パディングされる文字列。 この文字列は null にできます。
  • COUNT: 必須 埋め込む文字列のサイズです。
  • PADDING: 必須 入力を埋め込む文字列。 null または空の場合は、1 つのスペースとして扱われます。
rpad (INPUT, COUNT, PADDING)
rpad ("bat", 8, "yz")
「バチジー」
left
指定された文字列の最初の「n」文字を取得します。
  • 文字列:必須 最初の「n」文字を取得する文字列。
  • COUNT: 必須 文字列から取得する「n」文字。
left (STRING, COUNT)
left ("abcde", 2)
"ab"
指定された文字列の最後の「n」文字を取得します。
  • 文字列:必須 最後の「n」文字を取得する文字列。
  • COUNT: 必須 文字列から取得する「n」文字。
right (STRING, COUNT)
right ("abcde", 2)
"de"
ltrim
文字列の先頭から空白を削除します。
  • STRING: 必須 空白を削除する文字列。
ltrim (STRING)
ltrim (「こんにちは」)
"hello"
rtrim
文字列の末尾から空白を削除します。
  • STRING: 必須 空白を削除する文字列。
rtrim (STRING)
rtrim ("hello ")
"hello"
trim
文字列の先頭と末尾から空白を削除します。
  • STRING: 必須 空白を削除する文字列。
trim (STRING)
trim (" hello ")
"hello"
次と等しい
2 つの文字列を比較して、等しいかどうかを確認します。 この関数では大文字と小文字が区別されます。
  • STRING1: 必須 比較する最初の文字列。
  • STRING2: 必須 比較する 2 番目の文字列。
STRING1.​equals (​STRING2)
"string1"…​equals​("STRING1")
equalsIgnoreCase
2 つの文字列を比較して、等しいかどうかを確認します。 この関数では、大文字と小文字は区別され せん
  • STRING1: 必須 比較する最初の文字列。
  • STRING2: 必須 比較する 2 番目の文字列。
STRING1.​equalsIgnoreCase​(STRING2)
"string1"…​equalsIgnoreCase​("STRING1)
true

正規表現関数

関数
説明
パラメーター
構文
サンプル出力
extract_regex
正規表現に基づいて、入力文字列からグループを抽出します。
  • STRING: 必須 グループを抽出する文字列。
  • 正規表現:必須 グループを照合する正規表現。
extract_regex (STRING, REGEX)
extract_regex​("E259,E259B_009,1_1"​, "([,]+),[,]*,([^,]+)")
["E259,E259B_009,1_1", "E259", "1_1"]
matches_regex
文字列が入力された正規表現と一致するかどうかを確認します。
  • 文字列:必須 確認する文字列が正規表現と一致します。
  • 正規表現:必須 比較する正規表現。
matches_regex (STRING, REGEX)
matches_regex ("E259,E259B_009,1_1", "([,]+),[,]*,([^,]+)")
true

ハッシュ関数 hashing

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
sha1
入力を受け取り、セキュアハッシュアルゴリズム 1 (SHA-1)を使用してハッシュ値を生成します。
  • 入力:必須 ハッシュ化されるプレーンテキスト。
  • CHARSET: オプション 文字セットの名前。 使用可能な値は、UTF-8、UTF-16、ISO-8859-1、US-ASCII です。
sha1 (入力,CHARSET)
sha1 ("my text", "UTF-8")
c3599c11e47719df18a24​48690840c5dfcce3c80
sha256
入力を受け取り、セキュアハッシュアルゴリズム 256 を使用してハッシュ値を生成します(SHA-256)。
  • 入力:必須 ハッシュ化されるプレーンテキスト。
  • CHARSET: オプション 文字セットの名前。 使用可能な値は、UTF-8、UTF-16、ISO-8859-1、US-ASCII です。
sha256 (入力,CHARSET)
sha256 ("my text", "UTF-8")
7330d2b39ca35eaf4cb95fc846c21​ee6a39af698154a83a586ee270a0d372104
sha512
入力を受け取り、セキュアハッシュアルゴリズム 512 を使用してハッシュ値を生成します(SHA-512)。
  • 入力:必須 ハッシュ化されるプレーンテキスト。
  • CHARSET: オプション 文字セットの名前。 使用可能な値は、UTF-8、UTF-16、ISO-8859-1、US-ASCII です。
sha512 (入力,CHARSET)
sha512 ("my text", "UTF-8")
a3d7e45a0d9be5fd4e4b9a3b8c9c2163c21ef​708bf11b4232bb21d2a8704ada2cdcd7b367dd0788a89​a5c908cfe377aceb1072a7b386d4d 2ff68a8fd24d16
md5
入力を受け取り、MD5 を使用してハッシュ値を生成します。
  • 入力:必須 ハッシュ化されるプレーンテキスト。
  • CHARSET: オプション 文字セットの名前。 使用可能な値は、UTF-8、UTF-16、ISO-8859-1、US-ASCII です。
md5 (入力,CHARSET)
md5 ("my text", "UTF-8")
d3b96ce8c9fb4​e9bd0198d03ba6852c7
crc32
入力に巡回冗長検査(CRC)アルゴリズムを使用して、32 ビットの巡回符号を生成します。
  • 入力:必須 ハッシュ化されるプレーンテキスト。
  • CHARSET: オプション 文字セットの名前。 使用可能な値は、UTF-8、UTF-16、ISO-8859-1、US-ASCII です。
crc32 (入力、文字セット)
crc32 ("my text", "UTF-8")
8df92e80

URL 関数 url

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
get_url_protocol
指定された URL からプロトコルを返します。 入力が無効な場合は、null を返します。
  • URL: 必須 プロトコルを抽出する必要がある URL です。
get_url_protocol​(URL)
get_url_protocol ("https://platform​.adobe.com/home")
https
get_url_host
指定された URL のホストを返します。 入力が無効な場合は、null を返します。
  • URL: 必須 ホストを抽出する必要がある URL です。
get_url_host​(URL)
get_url_host​("https://platform​.adobe.com/home")
platform.adobe.com
get_url_port
指定された URL のポートを返します。 入力が無効な場合は、null を返します。
  • URL: 必須 ポートを抽出する必要がある URL です。
get_url_port (URL)
get_url_port​("sftp://example.com//home/​joe/employee.csv")
22
get_url_path
指定された URL のパスを返します。 デフォルトでは、完全なパスが返されます。
  • URL: 必須 パスを抽出する必要がある URL です。
  • FULL_PATH: 任意 フルパスを返すかどうかを決定するブール値。 false に設定した場合は、パスの末尾のみが返されます。
get_url_path​(URL, FULL_PATH)
get_url_path​("sftp://example.com//​home/joe/employee.csv")
"//home/joe/​employee.csv"
get_url_query_str
指定された URL のクエリ文字列を、クエリ文字列名とクエリ文字列値のマップとして返します。
  • URL: 必須 クエリ文字列の取得元の URL。
  • ANCHOR: 必須 クエリ文字列内のアンカーでの処理を決定します。 「retain」、「remove」、「append」の 3 つの値のいずれかです。

    値が「retain」の場合、アンカーは返された値に添付されます。
    値が「削除」の場合、アンカーは返された値から削除されます。
    値が「追加」の場合、アンカーは別の値として返されます。
get_url_query_str​(URL, ANCHOR)
get_url_query_str​("foo://example.com:8042​/over/there?name=​ferret#nose", "retain")
get_url_query_str​("foo://example.com:8042​/over/there?name=​ferret#nose", "remove")
get_url_query_str​ ​ ​("foo://example.comは:8042/over/there で?name=ferret#nose", "append")
{"name": "ferret#nose"}
{"name": "ferret"}
{"name": "ferret", "_anchor_": "nose"}
get_url_encoded
この関数は、URL を入力として受け取り、特殊文字を ASCII 文字に置換つまりエンコードします。 特殊文字の詳細については、このドキュメントの付録の 特殊文字のリストを参照してください。
  • URL: 必須 ASCII 文字で置き換えるかエンコードする特殊文字を含む入力 URL。
get_url_encoded (URL)
get_url_encoded ("https://example.com/partneralliance_asia-pacific_2022")
https%3A%2F%2Fexample.com%2Fpartneralliance_asia-pacific_2022
get_url_decoded
この関数は、URL を入力として受け取り、ASCII 文字を特殊文字にデコードします。 特殊文字の詳細については、このドキュメントの付録の 特殊文字のリストを参照してください。
  • URL: 必須 特殊文字にデコードする ASCII 文字を含む入力 URL。
get_url_decoded (URL)
get_url_decoded ("https%3A%2F%2Fexample.com%2Fpartneralliance_asia-pacific_2022")
https://example.com/partneralliance_asia-pacific_2022

日付および時間関数 date-and-time

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。 date 関数の詳細については、『 データ形式処理ガイドの日付の節を参照してください。
関数
説明
パラメーター
構文
サンプル出力
now
現在の時刻を取得します。
now()
now()
2021-10-26T10:10:24Z
timestamp
現在の Unix 時間を取得します。
timestamp()
timestamp()
1571850624571
format
指定された形式に従って入力日をフォーマットします。
  • DATE: 必須 書式設定する ZonedDateTime オブジェクトとしての入力日付。
  • 形式:必須 日付の変更先となる形式。
format (DATE, FORMAT)
形式(2019-10-23T11:24:00+00:00, "yyyy-MM-dd HH:mm:ss")
2019-10-23 11:24:35
dformat
指定された形式に従ってタイムスタンプを日付文字列に変換します。
  • TIMESTAMP: 必須 書式設定するタイムスタンプ。 これはミリ秒単位で記述されます。
  • FORMAT: 必須 タイムスタンプを作成する形式。
dformat (TIMESTAMP, FORMAT)
dformat (1571829875000, "yyyy-MM-dd'T'HH:mm:ss.SSSX")
2019-10-23T11:24:35.000Z
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
  • DATE: 必須 日付を表す文字列。
  • FORMAT: 必須 ソースの日付の形式を表す文字列。メモ: これは 日付文字列の変換先の形式を表 ていません。
  • DEFAULT_DATE: 必須 指定した日付が null の場合に返されるデフォルトの日付。
date (DATE, FORMAT, DEFAULT_DATE)
date ("2019-10-23 11:24", "yyyy-MM-dd HH:mm", now ())
2019-10-23T11:24:00Z
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
  • DATE: 必須 日付を表す文字列。
  • FORMAT: 必須 ソースの日付の形式を表す文字列。メモ: これは 日付文字列の変換先の形式を表 ていません。
date (DATE, FORMAT)
日付("2019-10-23 11:24", "yyyy-MM-dd HH:mm")
2019-10-23T11:24:00Z
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
  • DATE: 必須 日付を表す文字列。
date (DATE)
date ("2019-10-23 11:24")
「2019-10-23T11:24:00Z」
date_part
日付の一部を取得します。次のコンポーネント値がサポートされています。

"year"
"yyyy"
"yy"

"quarter"
"qq"
"q"

"month"
"mm"
"

"dayofyear"
"dy"
"y"

"day"
"dd"
"d"

"week"
"ww"
"w"

"weekday"

















"dw"w"w"w"w"w"s 「ミリ秒」 SSS
  • COMPONENT: 必須 日付の一部を表す文字列。
  • 日付:必須 標準形式の日付。
date_part​(COMPONENT, DATE)
date_part ("MM", date ("2019-10-17 11:55:12"))
10
set_date_part
指定された日付のコンポーネントを置き換えます。次のコンポーネントが受け入れられます。

"year"
"yyyy"
"yy"

"month"
"mm"
"m"

"day"
"dd"
"d"

"hour"
"hh"

"minute"
"mi"
"n"

"second"
"ss"
"s"
  • COMPONENT: 必須 日付の一部を表す文字列。
  • 値:必須 指定された日付にコンポーネントに対して設定する値。
  • 日付:必須 標準形式の日付。
set_date_part​(COMPONENT, VALUE, DATE)
set_date_part ("m", 4, date ("2016-11-09T11:44:44.797")
"2016-04-09T11:44:44Z"
make_date_time
パーツから日付を作成します。 この関数は make_timestamp を使用して引き起こすこともできます。
  • YEAR: 必須 年(4 桁で記述)。
  • 月:必須 月。 使用できる値は 1~12 です。
  • DAY: 必須 その日。 使用できる値は 1~31 です。
  • 時間:必須 時間。 使用できる値は 0~23 です。
  • MINUTE: 必須 分。 使用できる値は 0~59 です。
  • NANOSECOND: 必須 ナノ秒の値です。 使用できる値は 0~999999999 です。
  • TIMEZONE: 必須 日時のタイムゾーン。
make_date_time​(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, NANOSECOND, TIMEZONE)
make_date_time​(2019, 10, 17, 11, 55, 12, 999, "アメリカ / ロサンゼルス")
2019-10-17T11:55:12Z
zone_date_to_utc
任意のタイムゾーンの日付を UTC の日付に変換します。
  • 日付:必須 変換しようとしている日付。
zone_date_to_utc​(DATE)
zone_date_to_utc​(2019-10-17T11:55:​12 PST
2019-10-17T19:55:12Z
zone_date_to_zone
あるタイムゾーンから別のタイムゾーンに日付を変換します。
  • 日付:必須 変換しようとしている日付。
  • ゾーン:必須 日付の変換先のタイムゾーン。
zone_date_to_zone​(DATE, ZONE)
zone_date_to_utc​(now(), "Europe/Paris")
2021-10-26T15:43:59Z

階層 – オブジェクト objects

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
is_empty
オブジェクトが空かどうかを確認します。
  • 入力:必須 確認しようとしているオブジェクトが空です。
is_empty (INPUT)
is_empty([1, null, 2, 3])
arrays_to_object
オブジェクトのリストを作成します。
  • 入力:必須 キーと配列のペアのグループ。
arrays_to_object (INPUT)
arrays_to_objects('sku', explode("id1|id2", '\\|'), 'price', [22.5,14.35])
[{ "sku": "id1", "price": 22.5 }, { "sku": "id2", "price": 14.35 }]
to_object
指定されたフラットなキーと値のペアに基づいてオブジェクトを作成します。
  • 入力:必須 キーと値のペアのフラットリスト。
to_object (INPUT)
to_object​("firstName", "John", "lastName", "Doe")
{"firstName": "John", "lastName": "Doe"}
str_to_object
入力文字列からオブジェクトを作成します。
  • 文字列:必須 オブジェクトを作成するために解析される文字列。
  • VALUE_DELIMITER: 任意 フィールドを値から区切る区切り文字です。 デフォルトの区切り文字は : です。
  • FIELD_DELIMITER: 任意 フィールド値のペアを区切る区切り文字です。 デフォルトの区切り文字は , です。
str_to_object​(STRING, VALUE_DELIMITER, FIELD_DELIMITER) 注意: get() 関数と str_to_object() を使用して、文字列内のキーの値を取得できます。
  • 例#1: str_to_object ("firstName - John ; lastName - ; - 123 345 7890", "-", ";")
  • 例#2: str_to_object ("firstName - John ; lastName - ; phone - 123 456 7890", "-", ";").get ("firstName")
  • 例#1:{"firstName": "John", "lastName": "Doe", "phone": "123 456 7890"}
  • 例#2: 「John」
contains_key
オブジェクトがソースデータ内に存在するかどうかを確認します。 注意: この関数は、廃止された is_set() 関数に代わるものです。
  • 入力:必須 ソースデータ内に存在する場合にチェックされるパス。
contains_key (INPUT)
contains_key ("evars.evar.field1")
true
無効にする
属性の値を null に設定します。 これは、フィールドをターゲットスキーマにコピーしない場合に使用する必要があります。
nullify ()
nullify ()
null
get_keys
キーと値のペアを解析し、すべてのキーを返します。
  • OBJECT: 必須 キーの抽出元のオブジェクト。
get_keys (OBJECT)
get_keys ({"book1": "Pride and Predial", "book2": "1984"})
["book1", "book2"]
get_values
キーと値のペアを解析し、指定されたキーに基づいて文字列の値を返します。
  • STRING: 必須 解析する文字列。
  • KEY: 必須 値を抽出する必要があるキー。
  • VALUE_DELIMITER: 必須 フィールドと値を区切る区切り文字です。 null または空の文字列を指定した場合、この値は : になります。
  • FIELD_DELIMITER: 任意 フィールドと値のペアを区切る区切り文字です。 null または空の文字列を指定した場合、この値は , になります。
get_values (STRING, KEY, VALUE_DELIMITER, FIELD_DELIMITER)
get_values ("firstName - John , lastName - Cena , phone - 555 420 8692", "firstName", "-", ",")
John
map_get_values
マップとキー入力を受け取ります。 入力が 1 つのキーである場合、この関数はそのキーに関連付けられた値を返します。 入力が文字列配列の場合、この関数は指定されたキーに対応するすべての値を返します。 入力マップに重複したキーがある場合、戻り値はキーを重複排除し、一意の値を返す必要があります。
  • MAP: 必須 入力マップデータ。
  • KEY: 必須 キーは、単一の文字列または文字列配列にすることができます。 他のプリミティブ型(data / number)が指定された場合は、文字列として扱われます。
get_values (MAP, KEY)
コードサンプルについては、 付録を参照してください。
map_has_keys
1 つ以上の入力キーが指定されている場合、この関数は true を返します。 文字列配列が入力として指定されている場合、この関数は、見つかった最初のキーに対して true を返します。
  • MAP: 必須 入力マップデータ
  • KEY: 必須 キーは、単一の文字列または文字列配列にすることができます。 他のプリミティブ型(data / number)が指定された場合は、文字列として扱われます。
map_has_keys (MAP, KEY)
コードサンプルについては、 付録を参照してください。
add_to_map
少なくとも 2 つの入力を受け付けます。 任意の数のマップを入力として指定できます。 データ準備は、すべての入力からのすべてのキーと値のペアを持つ単一のマップを返します。 1 つ以上のキーが(同じマップ内またはマップ間で)繰り返される場合、Data Prep ではキーの重複が排除されるので、最初のキーと値のペアは入力に渡された順序で保持されます。
MAP: 必須 入力マップデータ。
add_to_map (MAP 1, MAP 2, MAP 3, …)
コードサンプルについては、 付録を参照してください。
object_to_map (構文 1)
この関数を使用して、マップ データタイプを作成します。
  • KEY: 必須 キーは文字列である必要があります。 整数や日付などの他のプリミティブ値が指定されている場合、それらは文字列に自動変換され、文字列として扱われます。
  • ANY_TYPE: 必須 マップを除く、サポートされる任意の XDM データタイプを参照します。
object_to_map (KEY, ANY_TYPE, KEY, ANY_TYPE, …)
コードサンプルについては、 付録を参照してください。
object_to_map (構文 2)
この関数を使用して、マップ データタイプを作成します。
  • OBJECT: 必須 受信オブジェクトまたはオブジェクト配列を指定し、オブジェクト内の属性をキーとして指すことができます。
object_to_map (OBJECT)
コードサンプルについては、 付録を参照してください。
object_to_map (構文 3)
この関数を使用して、マップ データタイプを作成します。
  • OBJECT: 必須 受信オブジェクトまたはオブジェクト配列を指定し、オブジェクト内の属性をキーとして指すことができます。
object_to_map (OBJECT_ARRAY, ATTRIBUTE_IN_OBJECT_TO_BE_USED_AS_A_KEY)
コードサンプルについては、 付録を参照してください。

オブジェクトのコピーフィーチャーについては、以下の 節を参照してください

階層 – 配列 arrays

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
coalesce
指定された配列の最初の null 以外のオブジェクトを返します。
  • 入力:必須 最初の null 以外のオブジェクトを検索する配列。
coalesce (入力)
coalesce(null, null, null, "first", null, "second")
"first"
first
指定された配列の最初の要素を取得します。
  • 入力:必須 最初の要素を検索する配列。
first (INPUT)
first("1", "2", "3")
"1"
last
指定された配列の最後の要素を取得します。
  • 入力:必須 最後の要素を検索する配列。
last (入力)
last("1", "2", "3")
"3"
add_to_array
配列の末尾に要素を追加します。
  • 配列:必須 要素を追加する配列。
  • VALUES:配列に追加する要素。
add_to_array​(ARRAY, VALUES)
add_to_array​(['a', 'b'], 'c', 'd')
['a', 'b', 'c', 'd']
join_arrays
配列を相互に組み合わせます。
  • 配列:必須 要素を追加する配列。
  • VALUES:親配列に追加する配列。
join_arrays​(ARRAY, VALUES)
join_arrays​(['a', 'b'], ['c'], ['d', 'e'])
['a', 'b', 'c', 'd', 'e']
to_array
入力のリストを取得し、配列に変換します。
  • INCLUDE_NULLS: 必須 応答配列に NULLS を含めるかどうかを示すブール値。
  • 値:必須 配列に変換される要素。
to_array​(INCLUDE_NULLS, VALUES)
to_array (false, 1, null, 2, 3)
[1, 2, 3]
size_of
入力サイズを返します。
  • 入力:必須 サイズの検索しようとしているオブジェクト。
size_of (INPUT)
size_of([1, 2, 3, 4])
4
upsert_array_append
この関数は、入力配列全体のすべての要素を Profile の配列の末尾に追加するために使用されます。 この関数は、更新時に のみ 適用されます。 挿入のコンテキストで使用される場合、この関数は入力をそのまま返します。
  • 配列:必須 プロファイルに配列を追加する配列。
upsert_array_append (ARRAY)
upsert_array_append([123, 456])
[123、456]
upsert_array_replace
この関数は、配列内の要素を置き換えるために使用されます。 この関数は、更新時に のみ 適用されます。 挿入のコンテキストで使用される場合、この関数は入力をそのまま返します。
  • 配列:必須 プロファイル内の配列を置き換える配列。
upsert_array_replace (ARRAY)
upsert_array_replace([123, 456], 1)
[123、456]

階層 – マップ map

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
array_to_map
この関数は、オブジェクト配列とキーを入力として受け取り、値をキー、配列要素を値としてキーのフィールドのマップを返します。
  • 入力:必須 最初の null 以外のオブジェクトを検索するオブジェクト配列
  • KEY: 必須 キーは、オブジェクト配列内のフィールド名で、値としてオブジェクトである必要があります。
array_to_map (OBJECT[]INPUTS, KEY)
コードサンプルについては、 付録を参照してください。
object_to_map
この関数は、オブジェクトを引数として受け取り、キーと値のペアのマップを返します。
  • 入力:必須 最初の null 以外のオブジェクトを検索するオブジェクト配列
object_to_map (OBJECT_INPUT)
"object_to_map (address)を指定します。入力内容は" + "address: {line1 : "345 park ave",line2 : "bldg 2",City : "san jose",State : "CA",type: "office"}"です
指定されたフィールド名と値のペアを持つマップ、または入力が null の場合は null を返します。 例:"{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"
to_map
この関数は、キーと値のペアのリストを受け取り、キーと値のペアのマップを返します。
to_map (OBJECT_INPUT)
"to_map ("firstName", "John", "lastName", "Doe")"
指定されたフィールド名と値のペアを持つマップ、または入力が null の場合は null を返します。 例:"{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"

論理演算子 logical-operators

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
decode
キーと、キーと値のペアのリストが配列としてフラット化されている場合、この関数は、キーが見つかった場合は値を返し、デフォルト値が配列に存在する場合はデフォルト値を返します。
  • KEY: 必須 照合するキー。
  • OPTIONS: 必須 キーと値のペアをフラット化した配列。 オプションで、最後にデフォルト値を付けることができます。
decode (KEY, OPTIONS)
decode (stateCode, "ca", "California", "pa", "Pennsylvania", "該当なし")
指定された stateCode が「ca」の場合は、「California」です。
指定された stateCode が「pa」の場合は、「Pennsylvania」です。
stateCode が次と一致しない場合、「なし」。
iif
指定されたブール式を評価し、結果に基づいて指定された値を返します。
  • EXPRESSION: 必須 評価されるブール式。
  • TRUE_VALUE: 必須 式が true と評価された場合に返される値。
  • FALSE_VALUE: 必須 式が false と評価された場合に返される値。
iif (EXPRESSION, TRUE_VALUE, FALSE_VALUE)
iif("s".equalsIgnoreCase("S"), "True", "False")
"True"

集計 aggregation

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
min
指定された引数の最小値を返します。自然な順序を使用します。
  • OPTIONS: 必須 相互に比較できる 1 つ以上のオブジェクト。
min (OPTIONS)
min(3, 1, 4)
1
max
指定された引数の最大値を返します。自然な順序を使用します。
  • OPTIONS: 必須 相互に比較できる 1 つ以上のオブジェクト。
max (OPTIONS)
max(3, 1, 4)
4

タイプ変換 type-conversions

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
to_bigint
文字列を BigInteger に変換します。
  • STRING: 必須 BigInteger に変換される文字列。
to_bigint (STRING)
to_bigint​("1000000.34")
1000000.34
to_decimal
文字列を倍精度浮動小数点数に変換します。
  • STRING: 必須 Double に変換する文字列。
to_decimal (STRING)
to_decimal ("20.5")
20.5
to_float
文字列を Float に変換します。
  • STRING: 必須 Float に変換される文字列。
to_float (STRING)
to_float ("12.3456")
12.34566
to_integer
文字列を整数に変換します。
  • 文字列:必須 整数に変換される文字列。
to_integer (STRING)
to_integer ("12")
12

JSON 関数 json

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
json_to_object
指定された文字列から JSON コンテンツを逆シリアル化します。
  • 文字列:必須 シリアル化を解除する JSON 文字列。
json_to_object​(STRING)
json_to_object​({"info":{"firstName":"John","lastName": "Doe"}})
JSON を表すオブジェクト。

特別業務 special-operations

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
uuid /
guid
擬似ランダム ID を生成します。
uuid()
guid()
uuid()
guid()
7c0267d2-bb74-4e1a-9275-3bf4fccda5f4
c7016dc7-3163-43f7-afc7-2e1c9c206333
fpid_to_ecid
この関数は、FPID 文字列を受け取り、Adobe Experience PlatformおよびAdobe Experience Cloud アプリケーションで使用される ECID に変換します。
  • 文字列:必須 ECID に変換される FPID 文字列。
fpid_to_ecid(STRING)
fpid_to_ecid("4ed70bee-b654-420a-a3fd-b58b6b65e991")
"28880788470263023831040523038280731744"

ユーザーエージェント関数 user-agent

次の表に示すユーザーエージェント関数は、次のいずれかの値を返します。

  • 電話 – 画面が小さいモバイルデバイス(通常は 7"未満)
  • モバイル – まだ識別されていないモバイルデバイス。 このモバイルデバイスは、eReader、タブレット、電話、時計などであり得る。

デバイスフィールド値について詳しくは、このドキュメントの付録の デバイスフィールド値のリストを参照してください。

NOTE
左右にスクロールして、テーブルの内容をすべて表示してください。
関数
説明
パラメーター
構文
サンプル出力
ua_os_name
ユーザーエージェント文字列からオペレーティングシステム名を抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_name​(USER_AGENT)
ua_os_name​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (KHTML、Gecko のような) Version/5.1 Mobile/9B206 Safari/7534.48.3")
iOS
ua_os_version_major
ユーザーエージェント文字列からオペレーティングシステムのメジャーバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_version_major​(USER_AGENT)
ua_os_version_major​s ("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (KHTML、Gecko のような) Version/5.1 Mobile/9B206 Safari/7534.48.3")
IOS5
ua_os_version
ユーザーエージェント文字列からオペレーティングシステムのバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_version​(USER_AGENT)
ua_os_version​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (Gecko のような KHTML) Version/5.1 Mobile/9B206 Safari/7534.48.3")
5.1.1
ua_os_name_version
ユーザーエージェント文字列からオペレーティングシステムの名前とバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_name_version​(USER_AGENT)
ua_os_name_version​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (Gecko のような KHTML) Version/5.1 Mobile/9B206 Safari/7534.48.3")
iOS 5.1.1
ua_agent_version
ユーザーエージェント文字列からエージェントのバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_agent_version​(USER_AGENT)
ua_agent_version​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (Gecko のような KHTML) Version/5.1 Mobile/9B206 Safari/7534.48.3")
5.1
ua_agent_version_major
ユーザーエージェント文字列からエージェント名とメジャーバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_agent_version_major​(USER_AGENT)
ua_agent_version_major​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (Gecko のような KHTML) Version/5.1 Mobile/9B206 Safari/7534.48.3")
Safari 5
ua_agent_name
ユーザーエージェント文字列からエージェント名を抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_agent_name​(USER_AGENT)
ua_agent_name​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (KHTML、Gecko のような) Version/5.1 Mobile/9B206 Safari/7534.48.3")
Safari
ua_device_class
ユーザーエージェント文字列からデバイスクラスを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_device_class​(USER_AGENT)
ua_device_class​("Mozilla/5.0 (iPhone、Mac OS X のような CPU iPhone OS 5_1_1) AppleWebKit/534.46 (KHTML、Gecko のような) Version/5.1 Mobile/9B206 Safari/7534.48.3")
Phone

Analytics 関数 analytics

NOTE
WebSDK およびAdobe Analytics フローでは、次の分析関数のみを使用できます。
関数
説明
パラメーター
構文
サンプル出力
aa_get_event_id
Analytics イベント文字列からイベント ID を抽出します。
  • EVENT_STRING: 必須 Analytics イベント文字列のコンマ区切りです。
  • EVENT_NAME: 必須 抽出するイベント名と ID。
aa_get_event_id (EVENT_STRING, EVENT_NAME)
aa_get_event_id ("event101=5:123456,scOpen", "event101")
123456
aa_get_event_value
Analytics イベント文字列からイベント値を抽出します。 イベントの値が指定されていない場合は、1 が返されます。
  • EVENT_STRING: 必須 Analytics イベント文字列のコンマ区切りです。
  • EVENT_NAME: 必須 値を抽出するイベント名。
aa_get_event_value (EVENT_STRING, EVENT_NAME)
aa_get_event_value ("event101=5:123456,scOpen", "event101")
5
aa_get_product_categories
Analytics 製品文字列から製品カテゴリを抽出します。
  • PRODUCTS_STRING: 必須 Analytics 製品文字列。
aa_get_product_categories (PRODUCTS_STRING)
aa_get_product_categories (";Example product 1;1;3.50,Example category 2;Example product 2;1;5.99")
[null,"カテゴリ 2 の例"]
aa_get_product_names
Analytics 製品文字列から製品名を抽出します。
  • PRODUCTS_STRING: 必須 Analytics 製品文字列。
aa_get_product_names (PRODUCTS_STRING)
aa_get_product_names (";Example product 1;1;3.50,Example category 2;Example product 2;1;5.99")
[ 「Example product 1」,「Example product 2」 ]
aa_get_product_quantities
Analytics 製品文字列から数量を抽出します。
  • PRODUCTS_STRING: 必須 Analytics 製品文字列。
aa_get_product_quantities (PRODUCTS_STRING)
aa_get_product_quantities (";Example product 1;1;3.50,Example category 2;Example product 2")
["1", null]
aa_get_product_prices
Analytics 製品文字列から価格を抽出します。
  • PRODUCTS_STRING: 必須 Analytics 製品文字列。
aa_get_product_prices (PRODUCTS_STRING)
aa_get_product_prices (";Example product 1;1;3.50,Example category 2;Example product 2")
["3.50"、null]
aa_get_product_event_values
名前付きイベントの値を文字列の配列として products 文字列から抽出します。
  • PRODUCTS_STRING: 必須 Analytics 製品文字列。
  • EVENT_NAME: 必須 値の抽出元のイベント名。
aa_get_product_event_values (PRODUCTS_STRING, EVENT_NAME)
aa_get_product_event_values (";Example product 1;1;4.20;event1=2.3|event2=5:1,;Example product 2;1;4.20;event1=3|event2=2:2", "event1")
[ 「2.3」、「3」 ]
aa_get_product_evars
製品文字列から、指定されたイベントの evar 値を文字列の配列として抽出します。
  • PRODUCTS_STRING: 必須 Analytics 製品文字列。
  • EVAR名:必須 抽出するeVar名。
aa_get_product_evars (PRODUCTS_STRING, EVENT_NAME)
aa_get_product_evars (";Example product;1;6.69;;eVar1=マーチャンダイジング値", "eVar1")
[ 「マーチャンダイジング値」 ]

オブジェクトのコピー object-copy

TIP
ソース内のオブジェクトが XDM 内のオブジェクトにマッピングされると、オブジェクトのコピー機能が自動的に適用されます。 ユーザーによる追加のアクションは必要ありません。

オブジェクトのコピー機能を使用すると、マッピングを変更せずにオブジェクトの属性を自動的にコピーできます。 例えば、ソースデータの構造が次のような場合:

address{
        line1: 4191 Ridgebrook Way,
        city: San Jose,
        state: California
        }

および次の XDM 構造:

addr{
    addrLine1: 4191 Ridgebrook Way,
    city: San Jose,
    state: California
    }

その後、マッピングは次のようになります。

address -> addr
address.line1 -> addr.addrLine1

上記の例では、address オブジェクトが addr にマッピングされているので、city 属性と state 属性も実行時に自動的に取り込まれます。 XDM 構造で line2 属性を作成し、入力データにも address オブジェクトの line2 が含まれている場合、マッピングを手動で変更しなくても、入力データも自動的に取り込まれます。

自動マッピングが機能するには、次の前提条件を満たす必要があります。

  • 親レベルオブジェクトはマッピングする必要があります。
  • XDM スキーマに新しい属性が作成されている必要があります。
  • 新しい属性は、ソーススキーマと XDM スキーマで名前が一致している必要があります。

前提条件のいずれかが満たされない場合は、データ準備を使用して、ソーススキーマを XDM スキーマに手動でマッピングする必要があります。

付録

次に、データ準備のマッピング機能の使用に関する追加情報を示します

特殊文字 special-characters

予約文字とそれらに対応するエンコードされた文字のリストを次の表に示します。

予約文字
エンコードされた文字
space
%20
!
%21
%22
#
%23
$
%24
%
%25
&
%26
'
%27
(
%28
%29
*
%2A
+
%2B
,
%2C
/
%2F
%3A
%3B
<
%3C
=
%3D
>
%3E
?
%3F
@
%40
[
%5B
]
%5D
^
%5E
'
%60
~
%7E

デバイスフィールドの値 device-field-values

次の表に、デバイスフィールド値のリストと対応する説明を示します。

デバイス
説明
Desktop
デスクトップまたはラップトップ型のデバイス。
匿名化
匿名デバイス。 場合によっては、これらは匿名化ソフトウェアによって変更された useragents です。
不明
不明なデバイスです。 これらは通常、デバイスに関する情報を含まない useragents です。
Mobile
まだ識別されていないモバイルデバイス。 このモバイルデバイスは、eReader、タブレット、電話、時計などであり得る。
タブレット
大きな画面(通常は 7 インチを超える)を備えたモバイルデバイス。
Phone
画面が小さいモバイルデバイス(通常は 7"未満)。
ウォッチ
画面が小さいモバイルデバイス(通常は 2 インチ未満)。 これらのデバイスは、通常、スマートフォンやタブレットタイプのデバイスの追加画面として動作します。
拡張現実
AR 機能を備えたモバイルデバイス。
バーチャルリアリティ
VR 機能を備えたモバイルデバイス。
eReader
タブレットに似たデバイスですが、通常は eInk の画面が表示されます。
セットトップボックス
テレビのサイズの画面を介した操作を可能にする接続されたデバイス。
TV
セットトップボックスに似たデバイスですが、テレビに組み込まれています。
家電製品
冷蔵庫のような(通常は大きな)家電製品。
ゲーム機
Playstation や XBox などの固定ゲームシステムを提供する。
携帯型ゲーム機
Nintendo Switch のようなモバイルゲームシステム。
音声
Amazon Alexa や Google Home などの音声駆動デバイス。
Car
車両ベースのブラウザー。
ロボット
Web サイトを訪問するロボット。
ロボットモバイル
Web サイトを訪問し、モバイル訪問者として見られることを示すロボット。
ロボットイミテータ
ウェブサイトを訪問するロボットは、Google のようなロボットであるふりをしますが、そうではありません。 注意:ほとんどの場合、ロボットイミテーターは実際にロボットです。
Cloud
クラウドベースのアプリケーション。 これらはロボットでもハッカーでもなく、接続する必要のあるアプリケーションです。 これには、Mastodon サーバーが含まれます。
ハッカー
このデバイス値は、useragent 文字列でスクリプトが検出された場合に使用されます。

コードサンプル code-samples

map_get_values map-get-values

選択すると例が表示されます
code language-json
 example = "map_get_values(book_details,\"author\") where input is : {\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "    }\n" +
        "}",
      result = "{\"author\": \"George R. R. Martin\"}"

map_has_keys map_has_keys

選択すると例が表示されます
code language-json
 example = "map_has_keys(book_details,\"author\")where input is : {\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "    }\n" +
        "}",
      result = "true"

add_to_map add_to_map

選択すると例が表示されます
code language-json
example = "add_to_map(book_details, book_details2) where input is {\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "    }\n" +
        "}" +
        "{\n" +
        "    \"book_details2\":\n" +
        "    {\n" +
        "        \"author\": \"Neil Gaiman\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-0-380-97365-0\"\n" +
        "        \"publisher\": \"William Morrow\"\n" +
        "    }\n" +
        "}",
      result = "{\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "        \"publisher\": \"William Morrow\"\n" +
        "    }\n" +
        "}",
      returns = "A new map with all elements from map and addends"

object_to_map object_to_map

構文 1

選択すると例が表示されます
code language-json
example = "object_to_map(\"firstName\", \"John\", \"lastName\", \"Doe\")",
result = "{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"

構文 2

選択すると例が表示されます
code language-json
example = "object_to_map(address) where input is " +
  "address: {line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}",
result = "{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"

構文 3

選択すると例が表示されます
code language-json
example = "object_to_map(addresses,type)" +
        "\n" +
        "[\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City\": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"home\"\n" +
        "    },\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"work\"\n" +
        "    },\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"office\"\n" +
        "    }\n" +
        "]" ,
result = "{\n" +
        "    \"home\":\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City\": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"home\"\n" +
        "    },\n" +
        "    \"work\":\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"work\"\n" +
        "    },\n" +
        "    \"office\":\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"office\"\n" +
        "    }\n" +
        "}"

array_to_map array_to_map

選択すると例が表示されます
code language-json
example = "array_to_map(addresses, \"type\") where addresses is\n" +
  "\n" +
  "[\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City\": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"home\"\n" +
  "    },\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"work\"\n" +
  "    },\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"office\"\n" +
  "    }\n" +
  "]" ,
result = "{\n" +
  "    \"home\":\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City\": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"home\"\n" +
  "    },\n" +
  "    \"work\":\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"work\"\n" +
  "    },\n" +
  "    \"office\":\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"office\"\n" +
  "    }\n" +
  "}",
returns = "Returns a map with given field name and value pairs or null if input is null"
recommendation-more-help
461cc884-c234-4a0c-ac75-6efbaafc1394