Parse the JSON value.

Abhijit Das7
Tera Expert

Hi Everyone, 

 

I am retting response body when I am calling REST message inside script include 

 var r = new sn_ws.RESTMessageV2('custom rest messge, 'Post Credentials');
            r.setRequestHeader('Content-Type', 'application/json');
            r.setStringParameter('email', sys_email);
            r.setStringParameter('password', sys_pwd);
            var response = r.execute();
            var responseBody = response.getBody(); // This is the response getting back from API
            gs.info("REST = " + responseBody);
            var httpStatus = response.getStatusCode();

 

Response body :

{
    "message": "Successfully Logged in",
    "token": {
        "idToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlNTIxYmY1ZjdhNDAwOGMzYmQ3MjFmMzk2OTcwOWI1MzY0MzA5NjEiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiUGhhbmkgS2lyYW4gVHVtdWx1cmkiLCJ0ZW5hbnRJZCI6Ik5LYzZIZE1NbDdja3lVdEF1cXNGIiwicm9sZSI6InRlbmFudF9hZG1pbiIsInJlZ2lvbiI6InVzLWNlbnRyYWwiLCJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vY2FyZWFyLWRldmVsb3BtZW50IiwiYXVkIjoiY2FyZWFyLWRldmVsb3BtZW50IiwiYXV0aF90aW1lIjoxNzMyMDI3MTQzLCJ1c2VyX2lkIjoiUWpqZUFLTmJDd05vSndFS3JnMWRPYlV4bGpHMyIsInN1YiI6IlFqamVBS05iQ3dOb0p3RUtyZzFkT2JVeGxqRzMiLCJpYXQiOjE3MzIwMjcxNDMsImV4cCI6MTczMjAzMDc0MywiZW1haWwiOiJwaGFuaWtpcmFuLnR1bXVsdXJpQHhlcm94LmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmaXJlYmFzZSI6eyJpZGVudGl0aWVzIjp7ImVtYWlsIjpbInBoYW5pa2lyYW4udHVtdWx1cmlAeGVyb3guY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoicGFzc3dvcmQifX0.T5nK8mf_XNJBCsQmXW9eVx_rHtIiQU9KlyYjcMBpdsNfrc8UDZkqcrBEC0LP8C9KLADpY8f9_R0O0C22BKMmOZVoavZ1yQIfxPwsk7EXCwfN_XyvAND1GyDfWYhQW0QR1cuPYkGZXyk-4ZdopKycSqxRC_Cj8RT36zvSvmYux4ve5AXMYrD-2C55EG8fifVfpR2SPh8HJQW0qzSur4NC35D8elDKpg7W5q2FCkeh8V6tCV70oOpLU-cvN8Stq4qfDP0XFlrKb0eJ1Ax2KU2mxXUPJRSgE9Yj7OvVrQQwXw8IGd27vQxaFHPyWDcmeVRuhimTjlM9l_TP3Fnul2ZLGQ",
        "refreshToken": "AMf-vBztRnnPWCvLyjHpsuRNTQ7-xV_UIaLMS7HIVuEAGRLTqxMJr8WJwJCZgCbDSWcxIkBcJLibE9drRs8_eLZo52150OssflFKhL85b45TIRuE4_T_z8e-eXc0g1HH360XHeCv31dsNvrWKW5T7jNrIFVf-FLfduufV6uWQa8SnYseE2WwdXZFeKXHqrRc64hzW_ARwZVC0dcH4OgchdpZ7xjNMIbfS7pObDtMKv6n55ubgk6jreLNaKaD671zWlrufpDpYXzk"
    },
    "expiresIn": "3600"
}

 

I want to get value of idtoken from this response body and return it to UI action. How can I parse this JSON object.

 

Thanks in advance

 

 

5 REPLIES 5

Juhi Poddar
Kilo Patron

Hello @Abhijit Das7 

Here is the updated script:

var r = new sn_ws.RESTMessageV2('custom rest message', 'Post Credentials');
r.setRequestHeader('Content-Type', 'application/json');
r.setStringParameter('email', sys_email);
r.setStringParameter('password', sys_pwd);

var response = r.execute();
var responseBody = response.getBody(); // This is the response getting back from API
var httpStatus = response.getStatusCode();

if (httpStatus == 200) { // Check if the request was successful
    try {
        var responseJson = JSON.parse(responseBody); // Parse the JSON response
        var idToken = responseJson.token.idToken; // Extract the idToken
        gs.info("Extracted idToken: " + idToken);
        return idToken; // Return the idToken to be used in your UI action or elsewhere
    } catch (error) {
        gs.error("Error parsing JSON response: " + error.message);
        return null;
    }
} else {
    gs.error("Failed to fetch REST response. HTTP Status: " + httpStatus);
    return null;
}

Hope this helps!

 

"If you found my answer helpful, please like and mark it as the "accepted solution". It helps others find the solution more easily and supports the community!"

 

Thank You
Juhi Poddar