2. IF WE TAKE AN SIMPLE EXAMPLE, LET US
CONSIDER WE HAVE THE FOLLOWING JSON
PAYLOAD AS AN INPUT FOR OUR APPLICATION :-
{ "NAME": "ANIRBAN SEN CHOWDHARY", "ID": 37 }
.
3. AS YOU CAN SEE HERE, THIS IS A SIMPLE JSON
PAYLOAD TAKEN AS AN EXAMPLE, WHICH CONTAINS
ONLY 2 ELEMENTS, THAT IS NAME AND ID.
SO, IF THIS JSON PAYLOAD IS COMING INTO OUR
APPLICATION AS AN INPUT AND WE REQUIRE TO
TRANSFORM/MODIFY THE PAYLOAD INTO ANOTHER
JSON FORMAT AND PRODUCE IT AS AN OUTPUT,
SOMETHING LIKE THE FOLLOWING :-
{ "NAME": "ANIRBAN SEN CHOWDHARY", "ID": 37,
"DESIGNATION": "DIRECTOR" }
4. WHERE YOU CAN SEE THE MODIFIED JSON HAS A NEW
ELEMENT DESIGNATION AS A THIRD ELEMENT . THE
CHALLENGE HERE IS TO MODIFY THE EXISTING INPUT
JSON PAYLOAD AND TO DESIGN AN OUTPUT JSON
PAYLOAD FROM IT, WHICH WILL CONTAIN THIS
ADDITIONAL ELEMENT IN IT WITH THE SAME FORMAT.
SO, THE QUESTION IS, HOW CAN BE THE INPUT JSON
FORMAT CAN BE MODIFIED OR TRANSFORMED IN
ANOTHER JSON FORMAT THAT WE REQUIRE, IN A
MULE APPLICATION ??
5. THE ANSWER IS MULE HAS A RICH SET OF
TRANSFORMERS AND OFFERS DIFFERENT OPTIONS
TO TRANSFORM FORM ONE FORMAT OF PAYLOAD
INTO ANOTHER. MULE ALSO OFFERS A POWERFUL
COMPONENT CALLED DATAMAPPER, WHICH IS LIMITED
TO MULE ENTERPRISE EDITION, AND THAT CAN
PERFORM ALL THESE REQUIREMENT IN EASY WAY.
BUT HERE FOR MULE COMMUNITY EDITION, WE WILL
CHOOSE A SIMPLEST WAY OF DOING IT. WE WILL BE
USING EXPRESSION TRANSFORMER FOR DOING THIS.
6. HERE IS THE FOLLOWING MULE FLOW, WHERE WE CAN
TRANSFORM THE JSON INPUT INTO ANOTHER JSON
FORMAT USING EXPRESSION TRANSFORMER :
7. THE INPUT JSON IN THE FLOW, IT IS EXTRACTING ALL THE
ELEMENT ( NAME AND ID ) FROM THE JSON AND STORING IT IN
VARIABLE.
AFTER THAT, THE EXPRESSION TRANSFORMER COMES INTO THE
PICTURE, WHICH IS RESPONSIBLE IN DESIGNING OUR OUTPUT
JSON PAYLOAD AND ADDING THE ELEMENT DESIGNATION IN IT.
THE GRAPHICAL REPRESENTATION OF THIS FLOW WILL BE AS
FOLLOWS :-
8. NOW, WE ARE DONE WITH OUR CODING AND WILL DEPLOY
OUR APPLICATION AND TEST IT.
ONCE DEPLOYED ON MULE SERVER, WE CAN TEST OUR
APPLICATION USING RESTCLIENT OR ANY OTHER CLIENT
YOU WISH.
9. ONCE WE CLICK THE SEND BUTTON WE WILL GET THE
FOLLOWING RESPONSE IN OUR CLIENT FROM OUR MULE
FLOW :-
10. PAYLOAD INTO ANOTHER JSON FORMAT IS EXTREMELY
EASY IN MULE USING THE EXPRESSION TRANSFORMER.
YOU CAN DESIGN YOUR OUTPUT JSON PAYLOAD IN ANY
FORMAT YOU REQUIRE USING THIS COMPONENT EASILY IN
YOUR MULE FLOW AND CAN CREATE YOUR DYNAMIC JSON
PAYLOAD EASILY !!!
THAT’S ALL !!! I’VE HOPEFULLY BEEN CLEAR ENOUGH IN
DISPLAYING THE IMPLEMENTATION OF EXPRESSION
TRANSFORMER IN DESIGNING AND MODIFYING YOUR JSON
PAYLOAD WHICH YOU CAN PRODUCE AS AN OUTPUT FROM
YOUR API OR APPLICATION.
I HOPE YOU LIKED THIS !!!
11. Hope you enjoyed the simple yet an amazing trick in Mule
You can also find this post here :- http://bushorn.com/json-to-json-
transformation-in-mule/