You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mule YAML配置中如何定义数组并根据值动态获取对应key

解决方案

1. 修正YAML配置

你添加的---是YAML的多文档分隔符,放在list:之后会将配置拆分为两个独立的YAML文档,破坏原有嵌套结构,导致Mule无法识别。正确的配置不需要额外加分隔符,保持你最初的结构即可,可直接放在Mule的属性配置文件中使用:

list:
  roles:
    - admin
    - finance
    - hr
    - sales
  employee:
    - emp1
    - emp2
    - emp3

2. 实现根据值动态检索对应key

通过DataWeave表达式即可实现需求,核心逻辑是遍历list对象,过滤出值数组包含目标code的键,取匹配结果即可。

示例表达式(取第一个匹配的key)

p('list') filterObject ((valueArr, key) -> valueArr contains vars.code) keysOf()[0]

效果验证:

  • 当流变量vars.code = "finance"时,返回结果为roles
  • 当流变量vars.code = "emp1"时,返回结果为employee

如果存在同一个code出现在多个数组的场景,去掉末尾的[0],即可返回所有匹配的key组成的数组。


内容的提问来源于stack exchange,提问作者Star

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:03