- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2020 11:09 PM
gs.getUser().getMyGroups() returns an object of the Java type com.glide.collections.StringList
How to easily convert it into a JS Array?
.split(','), JSON.parse(groups) don't work. The first one results in an Object, second complains about no comma characters.
var groups = gs.getUser().getMyGroups();
gs.info(groups);
gs.info(typeof(groups));
gs.info(Array.isArray(groups));
gs.info(groups.split(','));
gs.info(JSON.parse(groups));
*** Script: [4f7af9c91bcc541028544002cd4bcbab]
*** Script: object
*** Script: false
*** Script: undefined
Evaluator: org.mozilla.javascript.EcmaError: Missing comma in array literal
Caused by error in script at line 155
Evaluator: org.mozilla.javascript.EcmaError: Missing comma in array literal
Caused by error in script at line 9
6: gs.info(typeof(groups));
7: gs.info(Array.isArray(groups));
8: gs.info(groups.split(','));
==> 9: gs.info(JSON.parse(groups));
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-07-2021 05:04 AM
j2js is only available in global scope: as alternative you may consider the convertArray method of ArrayUtil Script include.
var arr_util = new global.ArrayUtil();
var my_groups = arr_util.convertArray(gs.getUser().getMyGroups());
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-29-2020 11:32 PM
please do this
var groupsArray = j2js(gs.getUser().getMyGroups().toArray());
gs.info('javascript array ' + groupsArray); // this will give your the javascript array
gs.info('length is:' + groupsArray.length);
OR
var groups = gs.getUser().getMyGroups().toArray();
var groupsArr = groups.join().split(',');
gs.info(groupsArr); // this prints javascript array
gs.info(groupsArr.length);
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-07-2021 05:04 AM
j2js is only available in global scope: as alternative you may consider the convertArray method of ArrayUtil Script include.
var arr_util = new global.ArrayUtil();
var my_groups = arr_util.convertArray(gs.getUser().getMyGroups());