在經驗資料模型(XDM)架構中,欄位的類型約束欄位可以包含的資料類型。 本文檔概述了每個核心欄位類型,包括可映射到的其他序列化格式以及如何在API中定義自己的欄位類型以強制實施不同的約束。
使用本指南之前,請查看 架構組合基礎 介紹XDM架構、類和架構欄位組。
如果您計畫在API中定義自己的欄位類型,強烈建議您從 架構註冊表開發人員指南 瞭解如何建立域組和資料類型以在中包括自定義域。 如果使用Experience PlatformUI建立方案,請參閱上的指南 定義UI中的欄位 瞭解如何對自定義欄位組和資料類型中定義的欄位實施約束。
XDM構建在JSON架構之上,因此XDM欄位在定義其類型時繼承了類似的語法。 瞭解JSON架構中不同欄位類型的表示方式有助於指明每種類型的基本約束。
查看 API基礎指南 有關平台API中JSON架構和其他基礎技術的詳細資訊。
下表概述了如何在JSON架構中表示每個XDM類型,以及與該類型一致的示例值:
XDM類型 | JSON架構 | 範例 |
---|---|---|
字串 |
{"type"(類型):"字串" |
"Platinum" |
Double |
{"type"(類型):"數字" |
12925.49 |
長 |
{ "type":"integer","maximum":9007199254740991,「最低」:-9007199254740991 } |
1478108935 |
整數 |
{ "type":"integer","maximum":2147483648,「最低」:-2147483648 } |
24906290 |
短 |
{ "type":"integer","maximum":32768,「最低」:-32768 } |
15781 |
位元組 |
{ "type":"integer","maximum":128,「最低」:-128 } |
90 |
日期* |
{ "type":"string","format":"日期" } |
"2019-05-15" |
日期時間* |
{ "type":"string","format":"日期時間" } |
"2019-05-15T20:20:39+00:00" |
布爾 |
{"type"(類型):"字串" |
true |
*所有日期格式字串必須符合ISO 8601標準(RFC 3339,第5.6節)。
以下各節介紹了每種XDM類型如何映射到其他常用序列化格式:
在下表中列出的標準XDM類型中, 地圖 類型。 當資料被表示為映射到某些值的鍵時,或當鍵不能合理地包括在靜態方案中且必須被視為資料值時,映射在標準方案中使用。
映射類型欄位是為行業和供應商架構使用而保留的,因此不能用於您定義的自定義資源。 映射類型包含在下表中僅用於幫助您確定如何將現有資料映射到XDM(如果當前資料以下面列出的任何格式儲存)。
XDM類型 | 鑲木 | Spark SQL | Java |
---|---|---|---|
字串 | 類型: BYTE_ARRAY 注釋: UTF8 |
StringType |
java.lang.String |
雙倍 | 類型:DOUBLE |
LongType |
java.lang.Double |
龍 | 類型:INT64 |
LongType |
java.lang.Long |
整數 | 類型: INT32 注釋: INT_32 |
IntegerType |
java.lang.Integer |
短 | 類型: INT32 注釋: INT_16 |
ShortType |
java.lang.Short |
位元組 | 類型: INT32 注釋: INT_8 |
ByteType |
java.lang.Short |
日期 | 類型: INT32 注釋: DATE |
DateType |
java.util.Date |
日期時間 | 類型: INT64 注釋: TIMESTAMP_MILLIS |
TimestampType |
java.util.Date |
布林值 | 類型:BOOLEAN |
BooleanType |
java.lang.Boolean |
地圖 | MAP — 注釋組( <key-type> 必須 STRING ) |
MapType ( keyType 必須 StringType ) |
java.util.Map |
XDM類型 | 斯卡拉 | .NET | 宇宙資料庫 |
---|---|---|---|
字串 | String |
System.String |
String |
雙倍 | Double |
System.Double |
Number |
龍 | Long |
System.Int64 |
Number |
整數 | Int |
System.Int32 |
Number |
短 | Short |
System.Int16 |
Number |
位元組 | Byte |
System.SByte |
Number |
日期 | java.util.Date |
System.DateTime |
String |
日期時間 | java.util.Date |
System.DateTime |
String |
布林值 | Boolean |
System.Boolean |
Boolean |
地圖 | Map |
(不適用) | object |
XDM類型 | 蒙戈DB | 塞式火箭 | 原武夫2 |
---|---|---|---|
字串 | string |
String |
string |
雙倍 | double |
Double |
double |
龍 | long |
Integer |
int64 |
整數 | int |
Integer |
int32 |
短 | int |
Integer |
int32 |
位元組 | int |
Integer |
int32 |
日期 | date |
Integer (Unix毫秒) |
int64 (Unix毫秒) |
日期時間 | timestamp |
Integer (Unix毫秒) |
int64 (Unix毫秒) |
布林值 | bool |
Integer (0/1二進位) |
bool |
地圖 | object |
map |
map<key_type, value_type> |
「方案註冊表API」允許您通過使用格式和可選約束來定義自定義欄位。 請參閱上的指南 定義架構註冊表API中的自定義欄位 的子菜單。