项数据类型
在构建场景时,你会使用不同的数据类型,从简单的文本和数字,到更复杂的元素,如 collection 和 array。理解这些类型至关重要,因为模块设置中的每个字段都接受特定格式的信息,你可以输入或映射到该字段中。
定义正确的数据类型对于对你的数据执行操作很重要。例如,math functions 需要 number 数据类型,而文本操作需要 text 数据类型。
数据验证
Make 会验证你提供的数据,以确保其符合字段的预期格式以及任何附加约束。如果你输入或映射了无效的数据类型,模块将停止处理并返回 DataError。
常见的验证错误发生在:
- 字段需要 number,但收到类似“100 units”的文本。
- 你尝试将诸如
{“name”: “John”, “age”: “30”, “city”: “London”}这样的 collection 映射到需要简单 text 的字段中。 - 日期字段收到格式不正确的字符串。
数据转换
Make 会在可能时自动强制转换(即转换)某些数据类型。这有助于你的场景在数据类型不完全匹配时(存在轻微类型不匹配时)继续运行。例如:
- 映射到 text 字段的 Boolean 数据类型将被转换为 "true" 或 "false" 文本。
- 映射到 text 字段的 number 数据类型将被转换为文本。
在此处了解有关支持的强制类型转换的更多信息。
然而,在某些情况下,这种强制转换可能会产生意外输出,从而导致场景后续出现错误。如果完全无法强制转换,Make 还会返回验证错误。因此,为了避免此类错误并确保场景正确执行,请从一开始就使用正确的数据类型。
数据类型
你可以通过将鼠标悬停在字段名称或映射值上来识别字段的数据类型。Make 支持以下数据类型:
- Text
- Number
- Boolean
- Date and time
- Buffer (binary) data
- Collection
- Array
Text
text 数据类型(也称为 string)包含字母、数字和特殊字符 (@ ? !)。它可以表示姓名、电子邮件、地址、产品描述、提示词以及其他较长的文本。Make 会验证文本,使其满足任何长度要求。
你可以手动输入文本,也可以映射它。
Number
number 数据类型包含数字字符。数字可以表示数量、价格、电话号码、年龄、测量值和计算结果。如果在某些模块中你没有将数字定义为 number,它们可能会被视为 text 数据类型。
Make 会验证某些数字字段的特定范围(允许的最小值或最大值)。
你可以在相应字段中手动输入 number 数据,也可以映射它。
Boolean (Yes/No)
Boolean 数据类型用于只有两个可能值的项:true 或 false。在 Make 中,它通常是是/否选项。
你也可以映射 Boolean 数据类型。
Date and time
date 数据类型用于日期或日期+时间。当你单击日期字段时,模块设置中会出现一个弹出日历。日期和时间的格式取决于你的 Profile settings (Web section > Time zone options) 中指定的时区。
你可以手动输入日期,从日历中设置日期,或映射日期。
日期值在 Make 中的显示方式
在输出 bundle 中,日期和时间值会根据你的 Profile settings (Web section > Time zone options) 中指定的区域设置和时区显示。
你也可以通过将鼠标悬停在该项上来查看日期项的 ISO 8601 格式值。这是通过 API 将日期值传递给其他服务时使用的格式。
如果 ISO 值没有显示出来,该项就不是日期,而很可能是 text。
Buffer (binary data)
文件内容通常以 Buffer 类型发送(图像内容、视频文件等)。在某些情况下,此类型中包含文本数据(例如,文本文件)。Make 能够自动将二进制代码中的文本数据转换为文本(反之亦然)。
例如,当你想要将文件作为电子邮件的附件包含在内时,Data 字段将需要 buffer 数据类型。你可以从其他模块映射它。
有关文件的更多信息,请参阅 Working with files 文章。
Collection
collection 是由多个子项组成的项,表示为键值对(例如,"Product": "Dress"、"Quantity": "5")。例如,你可以在 Create JSON 模块中创建 JSON 字符串时设置这些键值对。
这将创建一个 collection。
Array
array 是项的列表。这些项可以是简单值,如数字、布尔值和字符串(text),也可以是日期或 collection。例如,你可以添加一个 JSON 字符串,然后将该 array 映射到 Iterator 模块的 Array 字段中。
你将在输入中看到由 collection 组成的 array。
有关 array 的更多信息,请参阅: