Can you help with the following error:
[line: 27] WrappedException: Wrapped com.qvera.qie.web.exception.MessageModelException: Unexpected character ('l' (code 108)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.StringReader@4f5a235; line: 2, column: 20]
Stack Trace:
at script [line: 27]
-----------------------------------------------------------------------------------------------------------------------------------
surgeons/[1]/firstName - contains a string representing an array of surgeon names to be parse
//LAST1, FIRST1; LAST2, FIRST2 MIDDLE2; LAST3, FIRST3 MIDDLE3;
In the above there are 3 "surgeon" that need to go back into the message as
surgeons/[1]/firstName = FIRST1
surgeons/[1]/lastName = LAST1
surgeons/[2]/firstName = FIRST2
surgeons/[2]/lastName = LAST2
surgeons/[3]/firstName = FIRST3
surgeons/[3]/lastName = LAST3
when I attempt to add the 2nd array instance back to surgeons I get the above error
-------------------------------------------------------------------------------------------------------------------------------------------------
var surgeons = StringUtils.splitByWholeSeparatorPreserveAllTokens(message.getNode('surgeons/[1]/firstName'), ';');
qie.info('surgeons: ' + message.getNode('surgeons/[1]/firstName'));
qie.info('length: ' + surgeons.length);
for (var i = 0; i < surgeons.length; i++) {
//split the value into separate strings
qie.info('surgeons[' + i + '] ' + surgeons[i]);
var lastName = StringUtils.substringBefore(surgeons[i], ",");
var firstName = StringUtils.substringAfter(surgeons[i], ",");
qie.info("lastname: " + lastName);
qie.info("firstname: " + firstName);
qie.info("index: " + i);
var j = i + 1;
qie.info("j: " + j);
//message.setNode('surgeons/[' + j + ']/firstName',firstName,j,true);
//message.setNode('surgeons/[' + j + ']/lastName',lastName,j,true);
if (j == 1) {
qie.info("testing j=1");
message.setNode('surgeons/[1]/firstName',firstName);
message.setNode('surgeons/[1]/lastName',lastName);
qie.info("testing j=1");
}
if (j >= 2) {
qie.info("testing j>1");
// create new surgeon object
var surgeon = qie.parseJSONString('{\n' +
' "lastName": lastName,\n' +
' "firstName": firstName,\n' +
' "npi:" + ""\n' +
' }');
// add to array
message.addObjectToJSONArray('/surgeons', surgeon);
}
}