The CreatorCon Call for Content is officially open! Get started here.

how to pass the records in json?

caffry
Kilo Guru

i used the below script where it pass the data in an aray,i need to push to an json array.

(function executeRule(current, previous /*null when async*/) {

try { 
	var r = new sn_ws.RESTMessageV2('direct_rest_transaction', 'direct_rest_transa');
	
	
var fields = current.getFields();
	var hits = [];
	var name=[];
	var field=[];
	var sysid=current.sys_id;

		for (var i = 0; i < fields.size(); i++) {
			var glideElement = fields.get(i);
			if (glideElement.hasValue()) {
				name.push(glideElement);
				field.push(glideElement.getName());
				hits.push(glideElement.getName() + ":" + glideElement);
		}

	}
	hits.push("sys_id:" +sysid);
	r.setStringParameterNoEscape("pay",hits);
	 r.setStringParameterNoEscape('name', name);
 r.setStringParameterNoEscape('fields', field);
	//r.setStringParameterNoEscape('type',1);

 var response = r.execute();
 var responseBody = response.getBody();
 var httpStatus = response.getStatusCode();

}
catch(ex) {
 var message = ex.message;
}

	

})(current, previous);
13 REPLIES 13

Prins Kumar Gup
Giga Guru

Hi caffry,

Please see the below code;

var js = {};

js.res=response.getBody();//Example

var parser = new JSON();
var str = parser.encode(res);

 

Thanks

PKG

its giving an empty object..

find_real_file.png

(function executeRule(current, previous /*null when async*/) {

try { 
	var r = new sn_ws.RESTMessageV2('direct_rest_transaction', 'direct_rest_transa');
	
	
var fields = current.getFields();
	var hits = {};
	var name={};
	var field={};
	var sysid=current.sys_id;

		for (var i = 0; i < fields.size(); i++) {
			var glideElement = fields.get(i);
			if (glideElement.hasValue()) {
				name.push(glideElement);
				field.push(glideElement.getName());
				hits.push(glideElement.getName() + ":" + glideElement);
		}

	}
	hits.push("sys_id:" +sysid);
	//var json=JSON.stringify(hits);
	var parser = new JSON();
var str = parser.encode(hits);
	gs.log(str,"soze");
	r.setStringParameterNoEscape("pay",hits);
	 r.setStringParameterNoEscape('name', name);
 r.setStringParameterNoEscape('fields', field);
	//r.setStringParameterNoEscape('type',1);

 var response = r.execute();
 var responseBody = response.getBody();
 var httpStatus = response.getStatusCode();

}
catch(ex) {
 var message = ex.message;
}

	

})(current, previous);

Please see the below reply

Ashutosh Munot1
Kilo Patron
Kilo Patron

HI,

You will have to create a JSON object and then stringify it and then pass it into an array.

Thanks,
Ashutosh