2017-11-13 2 views
0

以下のデータウェーブ変換を行いたいと思います。 "SourceValue"は出力ペイロードの "Source"と "SrcVal"のようになります。それをどうやって行うのか教えてください。データウェーブ変換:JSON値を変更する

入力:

{  "payload":[ 
     { 
     "key":"stage", 
     "value":"Completed" 
     }, 
     { 
     "key":"url", 
     "value":"abc.com" 
     }, 
     { 
     "key":"SourceValue", 
     "value":"abc" 
     } 
    ] 
} 

出力:

{ 
    "part1":[ 
     { 
     "key":"stage", 
     "value":"Completed" 
     }, 
     { 
     "key":"url", 
     "value":"abc.com" 
     }, 
     { 
     "key":"Source", 
     "value":"abc" 
     } 
    ], 
    "part2":[ 
     { 
     "key":"url", 
     "value":"abc.com" 
     }, 
     { 
     "key":"SrcVal", 
     "value":"abc" 
     } 
    ] 
} 

TIA

答えて

0

次を使用します。

%dw 1.0 
%input payload application/json 
%output application/json 
%var a=2 
--- 
{ 
    part1: payload.payload map ((payload01 , indexOfPayload01) -> { 
     "key" : "Source" when payload01.key == "SourceValue" otherwise payload01.key, 
     "value" : payload01.value 

    }), 
    part2: payload.payload filter ($.key == "url" or $.key == "SourceValue") map ((payload01 , indexOfPayload01) -> 
     { 
     "key" : "SrcVal" when payload01.key == "SourceValue" otherwise payload01.key, 
     "value" : payload01.value 
     } 
    ) 

} 
関連する問題