- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-28-2022 07:26 AM
I have an outbound REST message that returns a JSON response.
Outbound REST message:
var getAccount = new sn_ws.RESTMessageV2('TestMessage', 'Accounts');
getAccount.setStringParameterNoEscape("authorization", accessToken);
var response = getAccount.execute();
var responseBody = response.getBody();
gs.info("responseBody : " + responseBody);
Here is responseBody of the outbound REST message:
{
"@odata.context":"this is a test",
"value":[
{
"test_value_1":"test1",
"test_value_2":"test2"
},
{
"test_value_1":"test3",
"test_value_2":"test4"
},
{
"test_value_1":"test5",
"test_value_2":"test6"
}
]
}
I need to parse this JSON response and get test_value_1 and test_value_2 for each object. How can I do this? I am thinking a for loop of some kind, but I cant figure out how to configure it.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-28-2022 07:57 AM
Considering you are receiving valid JSON response here is the script
Script:
var json = '{"@odata.context":"this is a test","value":[{"test_value_1":"test1","test_value_2":"test2"},{"test_value_1":"test3","test_value_2":"test4"},{"test_value_1":"test5","test_value_2":"test6"}]}';
var parser = JSON.parse(json);
var testValue1Arr = [];
var testValue2Arr = [];
for(var i=0;i<parser.value.length;i++){
testValue1Arr.push(parser.value[i].test_value_1+'');
testValue2Arr.push(parser.value[i].test_value_2+'');
}
gs.info("Test value1 array->" + testValue1Arr.toString());
gs.info("Test value2 array->" + testValue2Arr.toString());
Output:
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
03-28-2022 08:47 AM
Thank you, worked like a charm!
I think the parser was the piece I was missing:
var parser = JSON.parse(json);