【问题标题】:How to remove object from array JSON with filter DataWeave如何使用过滤器 DataWeave 从数组 JSON 中删除对象
【发布时间】:2020-07-07 13:04:39
【问题描述】:

我有这个输出

    {
  "array": [
    {
      "value": "abc",
      "Product2": {
        "Name": "phone",
        "id": "123abc"
      },
      "products": [
        {
          "id": "123abc",
          "value": "PKabc"
        }
      ]
    }
  ]
}

如果 valueid(在 array ) 在 "products" 数组中是一样的

我正在尝试这种方式但不起作用

(payload.array filter ($.value == $.value))

有什么建议吗?

谢谢

【问题讨论】:

  • 提供的 JSON 是这个问题的输入,而不是输出。当每个数组中有多个元素时会发生什么?展示一些针对不同输入的问题的预期输出示例。
  • $.value == $.value 总是正确的。

标签: dataweave anypoint-studio mulesoft any


【解决方案1】:

您需要遍历 payload.array 数组,然后通过 products 数组的 value 属性进行过滤。

%dw 2.0
output application/json
---
payload.array map ((arrayItem, arrayIndex) ->
    arrayItem.products filter ($.id != arrayItem.value) 
)

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2019-04-02
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    相关资源
    最近更新 更多