We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Converting JSON payload to CSV Attachment

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

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

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.