1

私は DataWeave に比較的慣れていないので、Java トランスフォーマーの代わりに DataWeave を使用して、以下のようなメッセージをどのように変換できるか/変換できるかどうか疑問に思っていました。

グループとサブグループを含む、次のユーザーの JSON ペイロードがあるとします。

[{
    "GROUP": "GROUP_A",
    "SUBGROUP": "SUBGROUP A1",
    "USER": "USER 1"
}, {
    "GROUP": "GROUP_B",
    "SUBGROUP": "SUBGROUP B1",
    "USER": "USER 1"
}, {
    "GROUP": "GROUP_B",
    "SUBGROUP": "SUBGROUP B1",
    "USER": "USER 2"
}, {
    "GROUP": "GROUP_B",
    "SUBGROUP": "SUBGROUP B2",
    "USER": "USER 3"
}, {
    "GROUP": "GROUP_B",
    "SUBGROUP": "SUBGROUP B2",
    "USER": "USER 4"
}, {
    "GROUP": "GROUP_B",
    "SUBGROUP": "SUBGROUP B2",
    "USER": "USER 5"
}]

ペイロードを次のような構造に変換すると、DataWeave 変換はどのようになりますか。

[   
    {
        "GROUP": "GROUP_A",
        "SUBGROUPS": [{
            "NAME": "SUBGROUP A1",
            "USERS": ["USER 1"]
        }]
    }, {
        "GROUP": "GROUP_B",
        "SUBGROUPS": [{
            "NAME": "SUBGROUP B1",
            "USERS": ["USER 1", "USER 2"]
        }, {
            "NAME": "SUBGROUP B2",
            "USERS": ["USER 3", "USER 4", "USER 5"]
        }]
    }

]

助けてくれてありがとう!

4

1 に答える 1

4

DataWeave の開発については、 DataWeave リファレンス ドキュメントを参照してください。この場合、Group by … セクションを参照できます。上記のメッセージを変換するには、次のスクリプトを試してください。

%dw 1.0
%output application/json
---
payload groupBy $.GROUP pluck {
    GROUP: $$,
    SUBGROUPS: $ groupBy $.SUBGROUP pluck {
        NAME: $$,
        USERS: $.USER
    }
}
于 2016-02-10T06:33:28.520 に答える