Reputation: 1461
Say I have an initial payload as below:
{
"avail": "123",
"vendorList": "vendor1,vendor2"
}
And I use Script mediator to break these vendors and add in different payloads as below:
Payload1:
{
"avail": "123",
"vendorList": "vendor1,vendor2",
"vendor": "vendor1"
}
Payload2:
{
"avail": "123",
"vendorList": "vendor1,vendor2",
"vendor": "vendor2"
}
Currently I have script as below:
payload = mc.getPayloadJSON();
var vendors = mc.getProperty('vendorList');
var log = mc.getServiceLog();
log.info(vendors);
var array_supp = String(vendors).split(',');
for (var i = 0; i < array_supp.length; i++) {
payload.vendor = array_supp[i];
log.info(array_supp[i]);
mc.setPayloadJSON(payload);
}
This always give last vendor in one payload.
Please advise how can I achieve this using Script mediator.
Upvotes: 1
Views: 296
Reputation: 495
The Reason why last vendor is coming is because you are not appending the result of earlier iteration. Try the below snippet and let me know if the issue is resolved or not
for (var i = 0; i < array_supp.length; i++) {
payload.vendor = array_supp[i];
log.info(array_supp[i]);
payload=payload + payload.vendor
mc.setPayloadJSON(payload);
}
Upvotes: 1