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.