跳到內容

對象的數組

使用一個對象數組對相關屬性進行分組。例如,您可能有一群寵物對象,歌對象,和帳戶對象,所有屬於一個用戶。這些數組對象可用於個性化您的消息傳遞與液體,或創建觀眾部分如果對象中的任何元素匹配的標準。

限製

  • 數組用於自定義屬性的對象是通過API。CSV不支持上傳。這是因為逗號在CSV文件將被解釋為一個列分隔符,和逗號的值會導致解析錯誤。
  • 合作夥伴不支持數組對象。我們建議不要使用這個功能啟用了合作夥伴集成的工作區。
  • 數組的對象沒有限製數量的物品,但有一個最大大小50 KB。

更新或刪除條目數組中需要識別項的鍵和值。因此,考慮包括數組中的每一項的唯一標識符。獨特性是作用域數組,是有用的,如果你想更新和刪除特定對象數組。這不是由釺強製執行。

API的例子

下麵是一個/用戶/跟蹤的例子,寵物數組中。捕捉寵物的屬性,發送一個API請求列表寵物作為一個對象數組。注意,每個對象分配一個獨一無二的id可以引用後,進行更新。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{“屬性”:({“external_id”:“user_id”,“寵物”:({“id”:1,“類型”:“狗”,“品種”:“小獵犬”,“名稱”:“格斯”},{“id”:2,“類型”:“貓”,“品種”:“棉布”,“名稱”:“傑拉爾德”}]}]}

向數組添加另一個項目使用增加美元操作符。下麵的例子顯示了添加到用戶的三個寵物對象寵物數組中。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29
{“屬性”:({“external_id”:“user_id”,“寵物”:{“添加”美元:({“id”:3,“類型”:“狗”,“品種”:“小狗”,“名稱”:“豆豆”},{“id”:4,“類型”:“魚”,“品種”:“鮭魚”,“名稱”:“拉裏”},{“id”:5,“類型”:“鳥”,“品種”:“長尾鸚鵡”,“名稱”:“瑪麗”}]}}]}

更新的值在數組使用特定對象_merge_objects參數和美元更新操作符。類似於簡單的更新嵌套的自定義屬性對象,這個執行合並。

下麵的例子顯示了更新品種財產金魚與一個對象id4。這個請求的例子也更新的對象id=5用一個新的的名字安妮特。自_merge_objects參數設置為真正的所有其他字段,這兩個對象是相同的。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24日25日26日
{“屬性”:({“external_id”:“user_id”,“_merge_objects”:真正的,“寵物”:{“美元更新”:({“identifier_key美元”:“id”,“identifier_value美元”:4,“new_object美元”:{“品種”:“金魚”}},{“identifier_key美元”:“id”,“identifier_value美元”:5,“new_object美元”:{“名稱”:“安妮特”}}]}}]}

從數組中移除對象使用美元的刪除運營商結合匹配鍵(identifier_key美元)和價值(identifier_value美元)。

下麵的例子展示了刪除任何對象寵物數組,id的價值1,一個id的價值2和一個類型的價值。如果有多個對象的類型的價值所有匹配的對象將被刪除。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24日25
{“屬性”:({“external_id”:“user_id”,“寵物”:{“美元刪除”:(/ /刪除通過ID{“identifier_key美元”:“id”,“identifier_value美元”:1},{“identifier_key美元”:“id”,“identifier_value美元”:2},/ /刪除任何{“identifier_key美元”:“類型”,“identifier_value美元”:“狗”}]}}]}

SDK示例

創建


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
瓦爾json=JSONArray()(JSONObject()(“id”,1)(“類型”,“狗”)(“品種”,“小獵犬”)(“名稱”,“格斯”))(JSONObject()(“id”,2)(“類型”,“貓”)(“品種”,“棉布”)(“名稱”,“傑拉爾德”))getCurrentUser{用戶- >用戶setCustomUserAttribute(“寵物”,json)}

添加


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日
瓦爾json=JSONObject()(“\添加美元”,JSONArray()(JSONObject()(“id”,3)(“類型”,“狗”)(“品種”,“小狗”)(“名稱”,“豆豆”))(JSONObject()(“id”,4)(“類型”,“魚”)(“品種”,“鮭魚”)(“名稱”,“拉裏”))(JSONObject()(“id”,5)(“類型”,“鳥”)(“品種”,“長尾鸚鵡”)(“名稱”,“瑪麗”)))getCurrentUser{用戶- >用戶setCustomUserAttribute(“寵物”,json,真正的)}

更新


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
瓦爾json=JSONObject()(“美元\更新”,JSONArray()(JSONObject()(“\ identifier_key美元”,“id”)(“\ identifier_value美元”,4)(“\ new_object美元”,JSONObject()(“品種”,“金魚”)))(JSONObject()(“\ identifier_key美元”,“id”)(“\ identifier_value美元”,5)(“\ new_object美元”,JSONObject()(“名稱”,“安妮特”))))getCurrentUser{用戶- >用戶setCustomUserAttribute(“寵物”,json,真正的)}

刪除


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
瓦爾json=JSONObject()(“美元\刪除”,JSONArray()(JSONObject()(“\ identifier_key美元”,“id”)(“\ identifier_value美元”,1))(JSONObject()(“\ identifier_key美元”,“id”)(“\ identifier_value美元”,2))(JSONObject()(“\ identifier_key美元”,“類型”)(“\ identifier_value美元”,“狗”)))getCurrentUser{用戶- >用戶setCustomUserAttribute(“寵物”,json,真正的)}

創建


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
json:[[字符串:任何?]=((“id”:1,“類型”:“狗”,“品種”:“小獵犬”,“名稱”:“格斯”),(“id”:2,“類型”:“貓”,“品種”:“棉布”,“名稱”:“傑拉爾德”]]用戶setCustomAttribute(關鍵:“寵物”,數組:json)

添加


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24
json:(字符串:任何?]=(“添加”美元:((“id”:3,“類型”:“狗”,“品種”:“小狗”,“名稱”:“豆豆”),(“id”:4,“類型”:“魚”,“品種”:“鮭魚”,“名稱”:“拉裏”),(“id”:5,“類型”:“鳥”,“品種”:“長尾鸚鵡”,“名稱”:“瑪麗”]]]用戶setCustomAttribute(關鍵:“寵物”,字典:json,合並:真正的)

更新


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
json:(字符串:任何?]=(“美元更新”:((“identifier_key美元”:“id”,“identifier_value美元”:4,“new_object美元”:(“品種”:“金魚”]),(“identifier_key美元”:“id”,“identifier_value美元”:5,“new_object美元”:(“名稱”:“安妮特”]]]]用戶setCustomAttribute(關鍵:“寵物”,字典:json,合並:真正的)

刪除


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
json:(字符串:任何?]=(“美元刪除”:((“identifier_key美元”:“id”,“identifier_value美元”:1,),(“identifier_key美元”:“id”,“identifier_value美元”:2,),(“identifier_key美元”:“類型”,“identifier_value美元”:“狗”,]]]用戶setCustomAttribute(關鍵:“寵物”,字典:json,合並:真正的)

創建


            
1 2 3 4 5 6 7 8 9 10 11 12 13
進口*作為@braze / web-sdk;常量json=[{id:1,類型:,品種:小獵犬號,的名字:格斯},{id:2,類型:,品種:印花棉布的,的名字:傑拉爾德});getUser()。setCustomUserAttribute(寵物,json);

添加


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
進口*作為@braze / web-sdk;常量json={增加美元:[{id:3,類型:,品種:威爾士矮腳狗,的名字:道格,},{id:4,類型:,品種:大馬哈魚,的名字:拉裏,},{id:5,類型:,品種:長尾小鸚鵡,的名字:瑪麗,})};getUser()。setCustomUserAttribute(寵物,json,真正的);

更新


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
進口*作為@braze / web-sdk;常量json={美元更新:({identifier_key美元:id,identifier_value美元:4,new_object美元:{品種:金魚}},{identifier_key美元:id,identifier_value美元:5,new_object美元:{的名字:安妮特}}]};getUser()。setCustomUserAttribute(寵物,json,真正的);

刪除


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
進口*作為@braze / web-sdk;常量json={美元的刪除:({identifier_key美元:id,identifier_value美元:1,},{identifier_key美元:id,identifier_value美元:2,},{identifier_key美元:類型,identifier_value美元:,}]};getUser()。setCustomUserAttribute(寵物,json,真正的);

液體模板

你可以使用這個寵物數組個性化信息。以下液體模板示例展示了如何引用自定義屬性的對象屬性保存前在您的消息傳遞API請求和使用它們。


          
1 2 3 4 5
{%分配寵物={{custom_attribute$ {。寵物}}}%}{%寵物寵物%}我有一個{{寵物類型}}命名{{寵物的名字}}!他們是一個{{寵物品種}}{%endfor%}

在這個場景中,您可以使用液體循環寵物數組和打印出每個寵物的聲明。分配一個變量寵物自定義屬性和使用點符號來訪問一個對象上的屬性。指定對象的名稱,後跟一個時期,其次是屬性名。

分割

當細分用戶基於數組的對象,用戶將獲得部分如果任何對象數組中匹配的標準。

創建一個新的細分並選擇嵌套的自定義屬性作為你的過濾器。然後搜索和選擇的名稱的數組對象。

過濾器的數組對象”></p>
      <p>使用點符號來指定哪個字段數組中您想要使用的對象。開始一個空的文本字段的方括號<code class=[]告訴釺,你看到裏麵一個對象數組。在那之後,添加一個時期,緊隨其後的是您想要使用的名稱字段。

例如,如果你想過濾寵物基於數組的對象類型字段中,輸入[].type選擇哪種類型的寵物來過濾,如

過濾器由寵物類型=蛇”></p>
      <p>或者你可能對寵物有過濾器<code class=類型的。這裏用戶至少有一條狗,這樣用戶限定的部分“任何類型的用戶至少有一個寵物狗”。

過濾器由寵物類型=狗”></p>
      <h3 id=層次的嵌套

您可以創建一個數組段與一層的嵌套在另一個數組(數組)。例如,鑒於以下屬性,你可以讓一段寵物[]. name包含格斯,但你不能讓一段寵物[].nicknames []包含Gugu


          
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29
{“屬性”:({“external_id”:“user_id”,“寵物”:({“id”:1,“類型”:“狗”,“品種”:“小獵犬”,“名稱”:“格斯”,“昵稱”:(“Gugu”,“熱情”]},{“id”:2,“類型”:“貓”,“品種”:“棉布”,“名稱”:“傑拉爾德”,“昵稱”:(“巨胚”,“格裏”]}]}]}

數據點

數據點消耗不同取決於你創建、更新或刪除一個屬性。

創建一個新的數組消耗一個數據點為每個屬性的對象。這個例子成本8分寵物對象有四個屬性和數據有兩個對象。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{“屬性”:({“external_id”:“user_id”,“寵物”:({“id”:1,“類型”:“狗”,“品種”:“小獵犬”,“名稱”:“格斯”},{“id”:2,“類型”:“貓”,“品種”:“棉布”,“名稱”:“傑拉爾德”}]}]}

更新現有的數組使用每個屬性添加一個數據點。這個例子成本兩個數據點,因為它隻更新在每個兩個對象的一個屬性。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24日25日26日
{“屬性”:({“external_id”:“user_id”,“_merge_objects”:真正的,“寵物”:{“美元更新”:({“identifier_key美元”:“id”,“identifier_value美元”:4,“new_object美元”:{“品種”:“金魚”}},{“identifier_key美元”:“id”,“identifier_value美元”:5,“new_object美元”:{“名稱”:“安妮特”}}]}}]}

從數組中刪除一個對象使用一個數據點為每個刪除你發送標準。這個例子成本三個數據點,盡管你可能會刪除多個狗這種說法。


            
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24日25
{“屬性”:({“external_id”:“user_id”,“寵物”:{“美元刪除”:(/ /刪除通過ID{“identifier_key美元”:“id”,“identifier_value美元”:1},{“identifier_key美元”:“id”,“identifier_value美元”:2},/ /刪除任何{“identifier_key美元”:“類型”,“identifier_value美元”:“狗”}]}}]}
這個頁麵是有用嗎?
新東西!
Baidu
map