Version: 17.07
Supported Since: 17.07
A JSON Array Element Adder is a processing element which adds an element to an array specified by the key
at a given
JSON path
of a message payload.
In order to use this processing element, you must first select the JSON Operations dependency from the processors list when you are creating an empty Ultra project. If you have already created a project, you can add this dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Processors list, select the JSON Operations dependency. |
Next |
The resulting message context will be sent to this outport after adding the new array element to the array at
the provided |
On Exception |
The message context will be sent to this outport if any exception occurred while adding the new array element to the
array specified by the |
JSON Path |
|
Key Name |
Key name of the array, at the specified |
Type of Value |
Type of the element to be added to the array with the specified key at the provided |
[Type of Value] Value to Assign |
Value of the selected type to be added to the array with the specified key at the provided |
In the following use case, the requirement is to receive a message with a JSON payload from an
HTTP NIO Ingress Connector,
add a given element to the array with key
at a given JSON path
of the received message payload and deliver the
message to a backend service via an
HTTP NIO Egress Connector.
The challenge is to add a given element to the array with key
at the given JSON path
of the message payload.
In this flow a JSON Array Element Adder processing element is configured to add a new element to the sample array
telephone-numbers
at the JSON path $
of the input JSON payload.
For the following sample input JSON payload, the element {"type" : "work", "number": "077-222-444-000"}
will be
added to the array telephone-numbers
.
{
"first-name": "John",
"last-name" : "Doe",
"age" : 24,
"address" : {
"streetAddress": "1st Cross Street",
"city" : "Colombo",
"postalCode" : "81000"
},
"telephone-numbers": [
{
"type" : "mobile",
"number": "074-234-567-890"
},
{
"type" : "land line",
"number": "011-234-567-890"
}
]
}
Final result will be as follows,
{
"first-name": "John",
"last-name" : "Doe",
"age" : 24,
"address" : {
"streetAddress": "1st Cross Street",
"city" : "Colombo",
"postalCode" : "81000"
},
"telephone-numbers": [
{
"type" : "mobile",
"number": "074-234-567-890"
},
{
"type" : "land line",
"number": "011-234-567-890"
},
{
"type" : "work",
"number": "077-222-444-000"
}
]
}