0

我正在使用以下 EL

jsonPath($, "$array.map({id: value.get('id'), type: value.get('type') })")

产生下一个变量...

但是 key(id) 没有保持唯一?!

        [{
            "id": "1",
            "type": "1"
        },
        {
            "id": "1",
            "type": "2"
        },
        {
            "id": "2",
            "type": "1"
        }]

我可以在 snaplogic 表达式语言或 snap 中使用什么来获得以下唯一键数组:

           [{
                "id": "1",
                "types": ["1", "2"],
            {
                "id": "2",
                "type": ["1"]
            }]

有任何想法吗?

4

1 回答 1

0

使用Group By Fieldssnap 进行分组id,然后使用简单的映射器创建所需的 JSON。请注意,id在进行分组之前,您必须对传入的文档进行排序。

样品管道

在此处输入图像描述

最终映射器表达式

$groupBy.id映射到id

jsonPath($, "$groups[*].type")映射到类型

结果输出

在此处输入图像描述

于 2021-04-13T14:46:27.237 回答