Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

response to be converted into integer type

Vijay Baokar
Kilo Sage

Hi Team,

I am getting response in floating but i need to have data type as integer in postman response. 

How can i change the data type into integer ?

retrieveUsers: function(pageNumber, pageLength) {
        try {
            var users = [];

            // Default pagination values
            pageNumber = parseInt(pageNumber, 10) || 1;
            pageLength = parseInt(pageLength, 10) || 10;

            // if (isNaN(pageNumber) || pageNumber < 1) pageNumber = 1;
            // if (isNaN(pageLength) || pageLength < 1) pageLength = 10;

            var offset = (pageNumber - 1) * pageLength;

            // Count total users with 'hp.com' email.
            var countGR = new GlideAggregate('sys_user');
            countGR.addEncodedQuery('active=true^emailLIKEhp.com');
            countGR.addAggregate('COUNT');
            countGR.query();

            var totalCount = 0;
            if (countGR.next()) {
                totalCount = parseInt(countGR.getAggregate('COUNT'), 10);
            }

            var totalPages = Math.ceil(totalCount / pageLength);
            if (pageNumber > totalPages && totalPages > 0) {
                return this._errorResponse(400, "Invalid page number. Requested pageNumber: " + pageNumber + " exceeds total available pages: " + totalPages);
            }

            // Fetch paginated users
            var gr_user = new GlideRecord('sys_user');
            gr_user.addEncodedQuery('active=true^emailLIKEhp.com');
            gr_user.orderBy('name');
            gr_user.chooseWindow(offset, offset + pageLength);
            gr_user.query();

            while (gr_user.next()) {

                var vamCountryName = this.getCountryName(gr_user.u_country_vam_countries);
                var bcmCountryName = this.getCountryName(gr_user.u_country_bcm_countries);
                var somCountryName = this.getCountryName(gr_user.u_country_som_countries);
                var market = this.getCountryName(gr_user.u_supported_market_for_market_vam_role);

                users.push({
                    user_id: gr_user.getValue('user_name'),
                    user_email_address: gr_user.getValue('email'),
                    employee_id: gr_user.getValue('employee_number'),
                    status: gr_user.getDisplayValue('active') === 'true' ? 'Active' : 'Inactive',
                    created_date: gr_user.getValue('sys_created_on'),
                    created_by: gr_user.getValue('sys_created_by'),
                    updated_by: gr_user.getValue('sys_updated_by'),
                    updated_date: gr_user.getValue('sys_updated_on'),
                    country_vam_countries: vamCountryName,
                    country_bcm_countries: bcmCountryName,
                    country_som_countries: somCountryName,
                    market_markets: market

                });
            }

            var result = {
                pageNumber: pageNumber,
                pageLength: pageLength,
                totalRecords: totalCount,
                totalPages: totalPages,
                "Status Code": 200,
                "Message": users.length > 0 ? "Users retrieved successfully." : "No users with active status and 'hp.com' email domain were found.",
                users: users
            };
 
Postman response i am getting:
 
"result": {
        "pageNumber": 1.0,
        "pageLength": 10,
        "totalRecords": 88.0,
        "totalPages": 9.0,
        "Status Code": 200,
 
it has to be in integer type and should not be like 1.0 or 88.0
2 REPLIES 2

Nilesh Pol
Kilo Sage
Kilo Sage

@Vijay Baokar you can explicitly convert them to integers using parseInt() or by ensuring they are calculated as integers.

var result = {
pageNumber: parseInt(pageNumber, 10),
pageLength: parseInt(pageLength, 10), 
totalRecords: parseInt(totalCount, 10), 
totalPages: parseInt(totalPages, 10), 
"Status Code": 200,
"Message": users.length > 0 ? "Users retrieved successfully." : "No users with active status and 'hp.com' email domain were found.",
users: users
};

Ankur Bawiskar
Tera Patron
Tera Patron

@Vijay Baokar 

either use parseInt() while setting result

OR

handle it in previous line of codes

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

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