【问题标题】:Dataweave - filter an array and extract only one element which is not nullDataweave - 过滤数组并仅提取一个不为空的元素
【发布时间】:2021-12-21 17:04:09
【问题描述】:

我是 Dataweave 的新手 - 我使用的是 mule 3,所以 DWL 是 1.0 这是有效载荷:

{
"students": [
    {
        "name": "Jack",
        "dob": "2022-01-01",
        "lname": "Montana"
    },
    {
        "name": "Jane",
        "lname": "Montana"
    }
]   
}

所以在上面的例子中 - 从学生的 json 有效负载(数组)中,我只想提取 'dob' 的值。 (编辑 1:数组可以包含多个具有 dob 的元素,有些元素可能没有 dob 但数组中至少有一个元素包含 dob ) 同样从数组中,我只需要一个 dob 值,以首先找到的为准。 在上面的示例中,我需要提取值:2022-01-01

如果数组中存在多个 dob 值,只需提取第一个找到的值

我有点不知道该怎么做 尝试了以下方法:

%var studentDobArr= payload.students
---
studentDobArr.dob

然而,这将返回一个数组,并返回所有存在 dob 的元素 我需要检查 dob 是否存在,如果存在则只返回一个值

【问题讨论】:

    标签: arrays json filter mule


    【解决方案1】:

    你快到了。 payload.students.dob[0] 将返回第一个 'dob' 元素,如果任何学生元素中都没有 dob 属性,则返回 null。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多