Flowgear Quick Map输出单值字段转为数组问题求助
解决Flowgear Quick Map连接器单值字段转为数组的问题
可能的原因
- Quick Map连接器默认会把输入中可能存在多值的字段自动转为数组类型,哪怕实际输入是单值
- 映射配置时,误将单值字段的目标类型设置为数组
- 输入数据源的元数据标记了字段为多值(比如来自表单、数据库查询结果的字段被标记为可重复)
具体解决步骤
- 检查单个字段的映射配置
打开Quick Map的映射界面,逐个查看type、subject等单值字段的映射设置:- 确保目标字段的类型没有被设置为“数组”
- 如果是从输入字段直接映射,右键点击映射线,确认没有勾选“允许多值”或类似选项
- 手动强制转为单值
对于已经被转为数组的字段,使用Flowgear的表达式函数强制提取单值:- 比如映射
type字段时,不用直接选输入的type,而是输入表达式First([Input.type]) - 这个函数会从数组中取出第一个元素,将其转为单值类型,适用于所有原本应该是单值的字段
- 比如映射
- 检查输入数据源的配置
如果输入来自其他连接器(比如HTTP请求、数据库查询),确认这些连接器输出的单值字段没有被标记为多值:- 比如HTTP连接器的响应解析是否误将单值字段识别为数组
- 数据库查询的字段是否返回了多行结果(哪怕只有一行,某些连接器会默认转数组)
- 重置Quick Map的全局设置
查看Quick Map连接器的全局配置,是否存在“默认将所有字段转为数组”的选项,如有则关闭该设置
针对你的场景的示例调整
以修改recipient字段为例,同时保证其他字段为单值:
- 映射
type:用表达式First([Input.type]) - 映射
subject:用表达式First([Input.subject]) - 映射
message:用表达式First([Input.message]) - 映射
recipient:直接构造数组["asda", First([Input.recipient[1]])](或者从输入取第二个元素再替换第一个) - 映射
attachment:用表达式First([Input.attachment])
内容的提问来源于stack exchange,提问作者Kiran Tirumalasetti
相关产品推荐
相关产品推荐

