Unable to parse result from response body

clyon
Tera Guru

I have a REST message. I'm getting the data back in the response (see below). But when I try to parse the fields out so I can update the fields on my form, I get undefined.

What am I missing?

var response = restMessage.execute();

gs.log(response.getBody());

//{"result":[{"u_segment":"Regional","u_account_owner":"Denise Bond","name":"123 MONEY LLC","u_region":"NE"}]}

 

var str = response.getBody();

var parser = new JSONParser();  

//var parsedResponse = response.parser(str);  

var parsedResponse = parser.parse(str);

gs.log(parsedResponse.result.name);

 

//Set values returned to incident form

current.u_account_name = parsedResponse.result.name;

current.u_account_owner = parsedResponse.result.u_account_owner;

current.u_region = parsedResponse.result.u_region;

current.u_segment = parsedResponse.result.u_segment;

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Christina,



Following script will give you the desired values:


You missed the array of object. the values are present in result[0]



var response = restMessage.execute();


var str = response.getBody();


var parser = new JSONParser();


var parsedData = parser.parse(str);


current.u_account_name = parsedData.result[0].name;


current.u_account_owner = parsedData.result[0].u_account_owner;


current.u_region = parsedData.result[0].u_region;


current.u_segment = parsedData.result[0].u_segment;



Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.


Thanks


Ankur


Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

17 REPLIES 17

Shishir Srivast
Mega Sage

Can you please try like that, see if it helps.



var str = response.getBody();


var parsedResponse = JSON.parse(str);


current.u_account_name = parsedResponse.name;


current.u_account_owner = parsedResponse.u_account_owner;


current.u_region = parsedResponse.u_region;


current.u_segment = parsedResponse.u_segment;


Tried this and no difference. Still getting undefined when trying to access the fields in the result.


Rama Chandra D
Kilo Guru

Hi Christian,




Do you see any error in the system logs?




Darshak  


No errors in the logs