您可以在自定義操作參數中傳遞集合,這些參數將在運行時動態填充。 支援兩種集合:
簡單集合:簡單資料類型的陣列,例如,具有listString:
{
"deviceTypes": [
"android",
"ios"
]
}
對象集合:JSON對象的陣列,例如:
{
"products":[
{
"id":"productA",
"name":"A",
"price":20.1
},
{
"id":"productB",
"name":"B",
"price":10.0
},
{
"id":"productC",
"name":"C",
"price":5.99
}
]
}
目前不支援對象陣列中對象的嵌套陣列。 例如:
{
"products":[
{
"id":"productA",
"name":"A",
"price":20,
"locations": [{"name": "Paris"}, {"name": "London"}]
},
]
}
要使用test模式test集合,需要使用代碼視圖模式。 當前不支援業務事件的代碼視圖模式。 您只能發送包含單個元素的集合。
在本節中,我們將使用以下JSON負載示例。 這是一組對象,其中欄位是一個簡單集合。
{
"ctxt": {
"products": [
{
"id": "productA",
"name": "A",
"price": 20.1,
"color":"blue",
"locations": [
"Paris",
"London"
]
},
{
"id": "productB",
"name": "B",
"price": 10.99
}
]
}
}
您可以看到「產品」是兩個對象的陣列。 你至少需要一個對象。
建立自定義操作。 請參閱此頁面。
在 Action parameters 部分,貼上JSON示例。 顯示的結構是靜態的:貼上負載時,所有欄位都定義為常數。
如果需要,請調整欄位類型。 集合支援以下欄位類型:listString、listInteger、listDecimal、listBoolean、listDateTime、listDateTimeOnly、listDateOnly、listOdateOnly、listObject
根據有效載荷示例自動推斷欄位類型。
如果要動態傳遞對象,則需要將其設定為變數。 在本示例中,我們將"products"設定為變數。 對象中包含的所有對象欄位都自動設定為變數。
負載示例的第一個對象用於定義欄位。
對於每個欄位,定義將顯示在行程畫布中的標籤。
建立行程並添加您建立的自定義操作。 請參閱此頁面。
在 Action parameters 部分,使用高級表達式編輯器定義陣列參數(本例中的「products」)。
對於以下每個對象欄位,鍵入源XDM架構中的相應欄位名。 如果名稱相同,則不需要這樣做。 在示例中,我們只需定義「product id」和「color」。
對於陣列欄位,還可以使用高級表達式編輯器執行資料操作。 在以下示例中,我們使用 濾波器 和 相交 函式:
對於異構類型和陣列的陣列,使用listAny類型定義陣列。 您只能映射單個項,但無法將陣列更改為變數。
異源類型示例:
{
"data_mixed-types": [
"test",
"test2",
null,
0
]
}
陣列示例:
{
"data_multiple-arrays": [
[
"test",
"test1",
"test2"
]
]
}
相關主題