- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 02:31 AM
Hello All,
I have a json data as below, I want to fetch data which has same "rota" value.
eg:
var group = '096fb59173062300e7af6238edf6a783';
var rota = new OnCallRotation();
var currentOnCall = rota.getEscalatees(group);
gs.print("oncall members"+JSON.stringify(currentOnCall));
The code returning the oncall members datails, I want to fetch the data which has "rota" : '349f399173062300e7af6238edf6a75e'. If the rota value matched, I need all the data of matched rota like "memberId","memberIds","userId","userIds","roster" etc. Can anyone please help me with this.
Json Data:
[
{
"memberId": "119f399173062300e7af6238edf6a7e7",
"memberIds": [],
"userId": "62826bf03710200044e0bfc8bcbe5df1",
"userIds": [],
"roster": "9d9f399173062300e7af6238edf6a7e5",
"rota": "349f399173062300e7af6238edf6a75e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 1,
"isOverride": false,
"rotationScheduleId": "119f399173062300e7af6238edf6a7df",
"memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
},
{
"memberId": "7daf799173062300e7af6238edf6a7a2",
"memberIds": [],
"userId": "d2826bf03710200044e0bfc8bcbe5dc9",
"userIds": [],
"roster": "b5af799173062300e7af6238edf6a7a2",
"rota": "35af799173062300e7af6238edf6a79e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 1,
"isOverride": false,
"rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
"memberScheduleId": "06af799173062300e7af6238edf6a7cd"
},
{
"memberId": "1d9f399173062300e7af6238edf6a7e8",
"memberIds": [],
"userId": "a8f98bb0eb32010045e1a5115206fe3a",
"userIds": [],
"roster": "9d9f399173062300e7af6238edf6a7e5",
"rota": "349f399173062300e7af6238edf6a75e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 2,
"isOverride": false,
"rotationScheduleId": "119f399173062300e7af6238edf6a7df",
"memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
},
Thanks.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 03:11 AM
Hi @MS17,
You could use something like this, you may need to tweak your return object as per your needs.
var json = [
{
"memberId": "119f399173062300e7af6238edf6a7e7",
"memberIds": [],
"userId": "62826bf03710200044e0bfc8bcbe5df1",
"userIds": [],
"roster": "9d9f399173062300e7af6238edf6a7e5",
"rota": "349f399173062300e7af6238edf6a75e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 1,
"isOverride": false,
"rotationScheduleId": "119f399173062300e7af6238edf6a7df",
"memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
},
{
"memberId": "7daf799173062300e7af6238edf6a7a2",
"memberIds": [],
"userId": "d2826bf03710200044e0bfc8bcbe5dc9",
"userIds": [],
"roster": "b5af799173062300e7af6238edf6a7a2",
"rota": "35af799173062300e7af6238edf6a79e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 1,
"isOverride": false,
"rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
"memberScheduleId": "06af799173062300e7af6238edf6a7cd"
},
{
"memberId": "1d9f399173062300e7af6238edf6a7e8",
"memberIds": [],
"userId": "a8f98bb0eb32010045e1a5115206fe3a",
"userIds": [],
"roster": "9d9f399173062300e7af6238edf6a7e5",
"rota": "349f399173062300e7af6238edf6a75e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 2,
"isOverride": false,
"rotationScheduleId": "119f399173062300e7af6238edf6a7df",
"memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
}];
var values = getValues(json, '349f399173062300e7af6238edf6a75e');
gs.print(values);
function getValues(obj, rota) {
var values = [];
for (var i = 0; i < obj.length; i++) {
if (obj[i].rota === rota) {
values.push(obj[i].memberId);
values.push(obj[i].memberIds);
values.push(obj[i].userId);
values.push(obj[i].userIds);
values.push(obj[i].roster);
}
}
return values;
}
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 04:44 AM
Sure:
You could do that like this:
var group = '096fb59173062300e7af6238edf6a783';
var rota = new OnCallRotation();
var currentOnCall = rota.getEscalatees(group);
var json = JSON.stringify(currentOnCall);
var values = getValues(json, '349f399173062300e7af6238edf6a75e');
gs.print(values);
function getValues(obj, rota) {
var values = [];
for (var i = 0; i < obj.length; i++) {
if (obj[i].rota === rota) {
var curObj = {};
curObj.memberId = obj[i].memberId;
curObj.memberIds= obj[i].memberIds;
curObj.userId= obj[i].userId;
curObj.userIds= obj[i].userIds;
curObj.roster= obj[i].roster;
values.push(curObj);
}
}
return values;
}
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 03:11 AM
Hi @MS17,
You could use something like this, you may need to tweak your return object as per your needs.
var json = [
{
"memberId": "119f399173062300e7af6238edf6a7e7",
"memberIds": [],
"userId": "62826bf03710200044e0bfc8bcbe5df1",
"userIds": [],
"roster": "9d9f399173062300e7af6238edf6a7e5",
"rota": "349f399173062300e7af6238edf6a75e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 1,
"isOverride": false,
"rotationScheduleId": "119f399173062300e7af6238edf6a7df",
"memberScheduleId": "9d9f399173062300e7af6238edf6a7ec"
},
{
"memberId": "7daf799173062300e7af6238edf6a7a2",
"memberIds": [],
"userId": "d2826bf03710200044e0bfc8bcbe5dc9",
"userIds": [],
"roster": "b5af799173062300e7af6238edf6a7a2",
"rota": "35af799173062300e7af6238edf6a79e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 1,
"isOverride": false,
"rotationScheduleId": "3daf799173062300e7af6238edf6a79e",
"memberScheduleId": "06af799173062300e7af6238edf6a7cd"
},
{
"memberId": "1d9f399173062300e7af6238edf6a7e8",
"memberIds": [],
"userId": "a8f98bb0eb32010045e1a5115206fe3a",
"userIds": [],
"roster": "9d9f399173062300e7af6238edf6a7e5",
"rota": "349f399173062300e7af6238edf6a75e",
"group": "096fb59173062300e7af6238edf6a783",
"escalationGroups": [],
"deviceId": "",
"deviceIds": [],
"isDevice": false,
"order": 2,
"isOverride": false,
"rotationScheduleId": "119f399173062300e7af6238edf6a7df",
"memberScheduleId": "d99f399173062300e7af6238edf6a7ef"
}];
var values = getValues(json, '349f399173062300e7af6238edf6a75e');
gs.print(values);
function getValues(obj, rota) {
var values = [];
for (var i = 0; i < obj.length; i++) {
if (obj[i].rota === rota) {
values.push(obj[i].memberId);
values.push(obj[i].memberIds);
values.push(obj[i].userId);
values.push(obj[i].userIds);
values.push(obj[i].roster);
}
}
return values;
}
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 03:49 AM
Hello Peter,
Thanks for your reply.
I have tried your code, But it is not returning anything. Can you please check.
Thanks.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 03:51 AM
Hi @MS17,
That is strange:
Have you adjusted anything in the code? If so, please share it.
Help others to find a correct solution by marking the appropriate response as accepted solution and helpful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-13-2023 04:01 AM
Hi Peter,
I haven't used the json data directly. I have stored the json data & used it as below,
var group = '096fb59173062300e7af6238edf6a783';
var rota = new OnCallRotation();
var currentOnCall = rota.getEscalatees(group);
var json = JSON.stringify(currentOnCall);
var values = getValues(json, '349f399173062300e7af6238edf6a75e');
gs.print(values);
function getValues(obj, rota) {
var values = [];
for (var i = 0; i < obj.length; i++) {
if (obj[i].rota === rota) {
values.push(obj[i].memberId);
values.push(obj[i].memberIds);
values.push(obj[i].userId);
values.push(obj[i].userIds);
values.push(obj[i].roster);
}
}
return values;
}