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.

Converting JSON payload to CSV Attachment

Community Alums
Not applicable

Hi Community,
I have a payload in JSON, I need to convert it to CSV and save it as a attachment in a problem record

var ArrayJson = [
{
"appname":"abcd",
"created_at":705605232,
"credential_id":"3d889-2e18-46b0-951c-8a3133c378",
"expires_in":7200,
"id":"a1863995-53d0-4ee8-b6bb-9f885dab868b",
"scope":"all",
"token_type":"bearer"
},
{
"appname":"abcd",
"created_at":4566789098765412345,
"credential_id":"3d889-2e18-46b0-951c-8a3133c378",
"expires_in":7200,
"id":"a1863995-53d0-4ee8-b6bb-9f885dab868b",
"scope":"all",
"token_type":"bearer"
}
]

1 ACCEPTED SOLUTION

Community Alums
Not applicable

Thanks for the reply Daniel, 
But i found the solution

 

var attachment = new GlideSysAttachment();

//set up inputs
var rec = new GlideRecord('incident');
rec.get('685994238729c9101bf9ba6f8bbb3582');
var fileName = 'example.csv';
var contentType = 'text/csv';
//var content = 'col1,col2,col3\n1,2,3';
var content = '';

 

for(var i=0; i<ArrayJson.length; i++){

var Obj = ArrayJson[i];

if(i==0){

var column = [];
for(var key in Obj){
column.push(key.toString());
}
content += column.join() + "\n";

}

var values = [];
for(var key in Obj){
values.push(Obj[key].toString());
}
content += values.join() + "\n";

}
var agr = attachment.write(rec, fileName, contentType, content);

gs.info('The attachment sys_id is: ' + agr);

View solution in original post

3 REPLIES 3

Community Alums
Not applicable

Thanks for the reply Daniel, 
But i found the solution

 

var attachment = new GlideSysAttachment();

//set up inputs
var rec = new GlideRecord('incident');
rec.get('685994238729c9101bf9ba6f8bbb3582');
var fileName = 'example.csv';
var contentType = 'text/csv';
//var content = 'col1,col2,col3\n1,2,3';
var content = '';

 

for(var i=0; i<ArrayJson.length; i++){

var Obj = ArrayJson[i];

if(i==0){

var column = [];
for(var key in Obj){
column.push(key.toString());
}
content += column.join() + "\n";

}

var values = [];
for(var key in Obj){
values.push(Obj[key].toString());
}
content += values.join() + "\n";

}
var agr = attachment.write(rec, fileName, contentType, content);

gs.info('The attachment sys_id is: ' + agr);

Great.