I am getting this error message "org.mozilla.javascript.NativeArray@b7f7da"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2023 04:14 AM - edited 12-31-2023 11:49 AM
I have a requirement where I need to update two field value through JSON via using "Product Config", but I am getting error on this.
In Generic API Staging Table I received this "org.mozilla.javascript.NativeArray@b7f7da" in value.
below is the "Product config script" where I set the field and value.
key is setting but value is coming with this error.
(function getSys(objParam) {
var JSONadrs;
var grInStagng = new GlideRecord('abc_xyz');
grInStagng.addQuery('sys_id', objParam.source_sysId);
grInStagng.query();
if (grInStagng.next()) {
JSONadrs = grInStagng.payload;
var parser = new global.JSONParser();
var parsed = parser.parse(JSONadrs);
var len = parsed.input.length;
for (var i = 0; i < len; i++) {
var fld1 = 'u_field_label' + [i];
var fld2 = 'u_field_value' + [i];
var fldKey = grInStagng.getValue(fld1, parsed.input[i].key);
var fldVal = grInStagng.getValue(fld2, parsed.input[i].value);
if (fldKey == 'code') {
gs.info('checking field key' + fldKey);
gs.info('checking field value' + fldVal[0]);
if (fldVal == null || fldVal == "") {
return "";
} else {
gs.info('code' + fldVal);
return dateValue;
}
}
}
}
})(objParam);
JSON:
JSON is working fine as well.
{
"DomainId": "A",
"u_process_type": "B",
"u_external_system": "C",
"u_operation": "update",
"ActivitySource": null,
"ActivityId": null,
"ActivityStatus": null,
"CaseId": "abc123456790123456789012345",
"input": [
{
"key": "states",
"value": "Captured"
},
{
"key": "code",
"value": [
{
"label": "ABC",
"value": "DEF"
},
{
"lable": "GHI,
"value": "JKL"
}
]
}
]
}
Please anyone help to resolved this issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2023 05:11 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-29-2023 05:35 AM - edited 12-31-2023 11:51 AM
I have tried but did not worked.
I have added this "JSON.parse(user_payload)" in the last else loop.
(function getSys(objParam) {
var JSONadrs;
var grInStagng = new GlideRecord('ABC_XYZ');
grInStagng.addQuery('sys_id', objParam.source_sysId);
grInStagng.query();
if (grInStagng.next()) {
JSONadrs = grInStagng.payload;
var parser = new global.JSONParser();
var parsed = parser.parse(JSONadrs);
var len = parsed.input.length;
for (var i = 0; i < len; i++) {
var fld1 = 'u_field_label' + [i];
var fld2 = 'u_field_value' + [i];
var fldKey = grInStagng.getValue(fld1, parsed.input[i].key);
var fldVal = grInStagng.getValue(fld2, parsed.input[i].value);
if (fldKey == 'data') {
//var obj = JSON.parse(fldVal);
gs.info('checking field key' + fldKey);
gs.info('checking field value' + JSON.parse(fldVal[0]));
if (fldVal == null || fldVal == "") {
return "";
} else {
JSON.parse(fldVal.payload);
gs.info('data' + fldVal);
return dateValue;
}
}
}
}
})(objParam);